http://www.thomasexchangeglobal.co.uk/ currently quotes an exchange rate of $1.65016/£ at its London offices. The current interbank rate as listed at www.oanda.com is $1.6291/£. The bureau's markup is 1.3%. This beats many ATM cards as listed at http://flyerguide.com/wiki/index.php/Credit/Debit/ATM_Cards_and_Foreign_Exchange . Unfortunately, it is difficult to find a low cost exchange bureau and easy to be ripped off by those charging up to 22%.
Neither are as good as a BofA ATM card used in a Barclay's bank ATM. It's free. BofA is part of a global alliance with a few banks in Europe. You can use each other's ATMs with no fees. We were recently in England for 3 weeks and we used the Barclay's ATMs a lot. No fees on my checking account. One general rule is that you have to be in the home country of the bank (i.e. Barclay's = England, Deutchebank = Germany, etc). Supposedly, if you try a Barclay's bank outside of England, you would pay a fee. I haven't tried this yet.
My local credit union charges nothing over the going exchange rate for the day, either. And it doesn't matter whose ATM I use - they don't have to be affiliated in any way.