Exchange fees show up in a number of different places. I have a Capital One card that I got specifically for the advertised "no foreign exchange fees". In reality, it consistently charges me about 1% more than the official exchange rate at any given point. 1% doesn't seem like a terrible fee. I wish it would itemize it, though.
Many merchants will not bill the card in their local currency -- instead, because it's a US card, they refuse to bill it in anything other than USD. That means they end up making me pay extra to cover their exchange costs, which are always exorbitant, maybe 10 times as much. They appear to have something worked out with their local bank, where the bank accepts payment in USD and gives them payment in CNY or HKD. Here, the bank is teaming up with the merchant to screw the customer without even benefiting the merchant.
I recently ordered something from Amazon's Canada site, and they generously offered to let me have them bill me in USD -- they would cover currency exchange themselves. Left unstated was that they would charge, again, an order of magnitude more for the service than my card would. At least they gave me the option to say "no, bill me in CAD".
The best option I generally have for transacting in China is to pull cash from an ATM (paying Capital One's 1%ish fee), and pay cash even for very large purchases. It's quite possible that banks aren't where you're getting hit by exorbitant fees -- transact directly with a bank, and you should be able to get low fees.
Well, anything within the same bank is instant. There is a commonly used mechanism in business accounts called "Faster Payments" which tend to settle even across banks in the UK within 2h.
Very recently - as in, in the last 4-6 weeks - a system called "SMS" was rolled out. Despite the name, it has nothing to do with text messaging. It's a new cross-bank settlement mechanism which promises to settle the transfer in 20 minutes within UK.
The reality is that SMS transfers don't work reliably across all the banks. Our payments and customer service teams had a bad week after we enabled SMS payments. When a supposedly faster transfer takes 5-6 days and you have to chase the bank(s) about payment states, there's clearly a fault somewhere.
Transferwise is easy and are about 0.3% off interbank.
Interactive Brokers are a pain to set up but some tiny amount off like 0.02%
Living in the UK, national payments are instant, with very few exceptions. And having lived in both Switzerland (where they use CHF), and Germany (Euros), I can say it's much the same across Europe.
International payments within Europe are fast too; a couple of days if you're changing currencies, and faster if both sides are in the Euro Zone.
Banks don't have to be slow. The only real issue I have is that the bank's exchange rates are criminal!