Send NFTs to some accounts

Have you seen Create | Algorand Foundation, Mint Algorand NFTs and GitHub - barnjamin/arc3.xyz for example ?

It depends how you manage the keys used to sign the transactions.

Are the users using their own wallet (e.g., Pera Wallet)?
In that case, there is little you can do: each user needs to sign.
However, if you have a user with many NFTs, you may be able to batch the signature requests.

Or are you handling the keys for the users?
In that case, how are you doing the signing?

To send NFTs, you first need the users to opt-in to the ASA.
If they don’t opt in, you cannot send them the ASA.

Then, sending the ASA is just an asset transfer.