For very large amount it seems rather obvious that BTC wins, the problem is that the cost of (on-chain) BTC transactions is not indexed on the amount being transfered but on the size in bytes of the transaction. So you can send $10k for $0.07 but you could also send $1 for $200 if you use many inputs or outputs. That's a problem for day-to-day purchases which tend to involve small amounts (especially if you follow the good practice to use disposable addresses for every transaction, meaning that you'll often have to combine multiple inputs to spend your money). It doesn't help that you have to wait for the transaction to be mined at least once before you can be reasonably sure that it's been validated.
That's what off-chain solutions are supposed to fix, although they come with their own caveats.