I'd always assumed that the cost of buying and selling currency was "much of a muchness" for your average person (ie. someone who is trying to get money for a holiday, rather than someone who is trading currency as a means of making a profit). Specifically, I thought that since I work at the airport and the exchange bureaux there did "a little bit more" for people who work there, I was getting a fairly good deal.
I was intending to buy some US dollars for a holiday. It's some way ahead, but the exchange rate is quite good, so I thought I'd do it now. There was a little queue for the first office, and whilst I was standing there, I clocked their exchange rate. The published rate in the newspaper was around $1.55 to the pound; I'd been watching it. But they offered to sell dollars at $1.40ish to the pound and buy at $1.74.
That was a pretty huge margin, I thought - almost 10%. So I thought I'd wait, and investigate other possibilities. The same day, the bank were offering $1.45 and the Post Office $1.49! To get some idea of how much difference this makes, if you are buying £500 worth of dollars for a holiday, you would get an extra $45 if you went to the Post Office. It's not the case that commission eats this difference up; in each case, the transaction would have been commission-free. I didn't look on that day at the rate I could get from a travel agent.
I then looked back at what we had paid for expenditure on credit cards. Payments made on credit cards last February, when the exchange rate had been around $1.61, had included a commission charge of around 2.7%. That meant that the equivalent exchange rate for purchases with a credit card had been at around $1.56 - comparable to the rate from the Post Office. I also looked at a transaction where I had drawn money out on a credit card abroad. The same commission charge is applied - about 2.7% - and there is an additional £2.50 charge for withdrawing money, but if you take a significant amount of money out in one go, this would be very cost effective. Bear in mind that the balance for cash transactions on credit cards may incur a higher interest rate, if you don't repay the whole amount every month. The commission rate for a debit card looked as though it was slightly higher, but the handling charge was lower.
So in conclusion ...
The best place to buy foreign money to take abroad with you seems to be the Post Office. But paying for things on credit cards when you're there or even withdrawing cash from an ATM using a credit card (in as large dollops as you can) will also get you a very competitive exchange rate.