Nowhere to my knowledge, they all charge a percentage (even the post office). They may not charge "fees" to change the money, but the sell rate will be different to the buy rate, so you won't get it "free". Nationwide to free withdrawals though (yes totally free)
If you're going abroad relatively often, or even if not, get a Nationwide current account. It charges nothing for withdrawing from foreign ATMs and gives a better rate than the Post Office or Travelex.
There's www.travelex.co.uk who exchange online with "no commission". Tbh though you're better off exchanging a small amount at an average rate, and then using a bank card abroad to pay for purchases at the till. HSBC gave me pretty good rates when I was in the US last month. If you're withdrawing money from an ATM, you will nearly always get charged though (unless you are with Nationwide).
Forgot to mention: Call your bank and tell them which cards you will be taking abroad, and your holiday dates, so they don't block them.
If you buy online, your credit/debit card company will charge you a fee (except Nationwide I think).The best rate I found back in Mid-July on the high street was Co-op Travel with M +S a close second, although in West London you can get 1.25 euro for a pound, I could only get 1.21.