Just withdraw cash on a credit card from a regular ATM. Most "normal" credit cards charge on the order of 3% over spot on the FX, some cards further charge a flat fee, but this is still better than those markups.
It's even possible to get cards that doesn't charge a fee and gives you spot FX, even for cash withdrawal (Halifax Clarity in the UK is one). That leaves any fee the ATM might charge you, but if you can find one that doesn't, this is a supremely efficient way of getting cash abroad.