You can choose to pay any fee you want. The higher you pay the more likely it is for a miner to pick your transaction for the next block. You can pay $3 right now to have your on-chain transaction confirmed within a day.
Then there's the lightning network, which allows you to transact BTC an infinite amount of times off-chain for next to 0 fees. I've used it countless time this year and the prior and have probably spent less than a dollar in fees total. A lot of crypto exchanges are implementing it too, which will drastically lower the fees on the overall network. Bitfinex has support for it right now. Kraken will support it this year