We always use the Post Office. Convenient and they usually have the major foreign currencies in stock. There's no commission and I believe that they exchange back to sterling for free too. However, not sure if they are the best in terms of exchange rate. This is goes for T' Cheques too.
Marks and Spencers if your local one has a B de C is normally slightly better than the Post Office, but not by enough to make a special journey worth while.
Some of the cheque cashing shops have gone into the currency business and also offer very good rates.
Don't think you will get sterling TCs commission free - there's no exchange rate to bury the commission in. ('Commission-free' is a lie - there's 5% or so in charges hidden in the exchange rate).
Travelex can rarely be beaten and, as long as you place your order 48 hours in advance of your trip, you get a fantastic rate and don't pay commission.
Best of all, your money is collected at the airport from their counter before you travel.
For 3.50GBP, Travelex will buy back your currency at the same rate you bought it at, so you don't lose out.