Yes there is a way to do that. It is done by scripts and a smart contract, script feeds the address list to smart contract in bulk packages, and smart contract sends them with the standard send command (looped).
The avarage cost of airdropping tokens is 0.1ETH per 1000 addresses ( I'm talking about gas cost only ). So for your examplary 5000 addresses, you'dpay 0.5ETH gas fee.
I now understand why some projects say they are giving airdrops yet end up asking for some ether in return. This is just for them to cover the cost (gas).