Ditto previous advice.
I use a Nationwide debit card - in Asia mostly, but also the US and Canada. I get a great rate. Usually its within 0.1% (yep a tenth of 1%) of the Oanda rate. No charges unless the particular machine imposes one. Same with their credit card - but of course for purchases only. (For cash its the usual fee+interest regime.)
Most other cards (debit and credit) add between 2.75% and 3% for foreign transactions (in addition to any other regime if its a credit card and you're drawing cash). In the past the exchange rate was just loaded by 2.75%, more recently its been shown as a separate fee.
I've never been charged the "notorious GBP5" fixed amount mentioned above - so have found other cards are fine for small amounts.
I've met many a very wealthy British traveller who carries all manner of posh cards - but actually uses Nationwide. I stopped using Amex platinum except for priority pass and insurance because their 2.75% loading outweighed any advantages of miles etc. (YMMV).
Bureau de Change in the UK seem to me to be the most expensive way of getting USD. Even if you have to pay 2.75% to use your debit card overseas, its still going to be better than most bureaux de change. Having said that, some years ago I struck a good deal with a guy in Bayswater, London. They get USD all the time so were pleased to offload a few rather than have to sell them to a bank for GBP.
Incidentally, Nationwide is not the only free-to-use overseas card. I think the Post Office credit card is also free - though that's a credit card. I don't know if there are any other debit cards.