Originally Posted by Andrius
Well, it used to be that withdrawing foreign currency abroad on your DEBIT card was the cheapest way.
Not anymore: 
many banks (incl. Barclays and Citibank) started applying the same charges for debit card cash transactions abroad as they do for credit card transactions.
I investigated this when I got a nasty shock in Italy this year: it turned out that withdrawing euros in Rome from a high-street bank ATM (some Banca Unione di Corruzione e Incompetenza) with Citibank debit card was only 0.3 percentage points cheaper than cash transaction at Travelex.
And while banks like giving you stories about how they apply rates better than cash forex rates for card transactions, there is still a spread.
Last time I checked, if you are actually using foreign currency abroad, buying it for GBP cash and pocketing BA miles is a very good idea.
And I cant recommend often enough to get a Citibank multicurrency account: esp if you already bank with them. You can then change GBP to Euros online at a close to commercial rate and withdraw from your Euro a/c without any charges when in Europe (ditto US$ and HK$ when over there).