As Postdog suggests, the Post Office buy back unused euros, commission free. The only problem is, of course, that the exchange rate you get to start with isn't necessarily as good as you might get elsewhere.
If you have a bank account which doesn't charge for using overseas cash machines (such as the Nationwide FlexAccount or some Abbey accounts), the best way to get euros is from ATMs where you're staying. Because you can get cash as you need it, you won't have many excess euros when you return and you can simply retain these for your next visit abroad.
Even if you continue to use the extortionate services of firms like Thomas Cook or Travelex to get your euros, unless you've got cash flow problems, there's no real point changing them back anyway. (In pre-euro days, you would have needed to change your Spanish pesetas back to sterling if your next holiday was, say, to Italy. These days it makes sense just to keep the euros because they'll be valid in so many different countries). There's a 50 euro note in my wallet right now and I wouldn't even consider chaging it to sterling. My next visit to a euro-country might be next week or it might not be until next year but, sooner or later, I know that I'll spend that note so why should I bother changing it?
Chris