I don't think that it is free, because when you send btc to another btc account in the Coinbase platform, Coinbase is only a management platform, the btc or any other cryptocurrency are running in their respective blockchains. thus a fee has to be paid for any tx you make, that fee is what miners get paid for verifying tx with their computers.
I don't know whether transactions between two coinbase accounts are free or not. But generally, it's possible to send bitcoin free as long as the transaction is made off-chain.
Assume that you and I have an accounts on an exchange. The exchange keep our funds in their own wallet and only show a number as our balance. (Bitcoins are not stored in our own addresses).
So, technically it's possible to increase your balance and decrease my balance when I send you some bitcoins. These kind of transactions can be made using email addresses, usernames, etc without making a real on-chain transaction.