Marks & Spencers (High Street Kensington) used to have decent rates (you're not going to get spot rates) and no service charges. Not sure about currently.
Travelex at BA's Victoria terminal used to offer a no-service charge exchange if you showed your BA EC card. Not sure if that still applies.
That was an Irish bank off Cheapside (north side, on a small side street - entry might be an alley way, on Old Jewry or Poultry?) that had very good rates, if they had the currency you want in stock.
[This message has been edited by terenz (edited 12-17-2001).]