I have always used
currencyfair for my currency exchanges. They have no fee for exchanging currency, you can place an order to set your own exchange rate, but you pay about £3 per transfer. In reality, though, the spread between bids and asks is often about 0.5% off spot rate anyway. If you have had issues with transferwise, though, they are worth a look.
The cheapest way to get GBP to BTC depends on the amount you are dealing with. For larger amounts it is sometimes worth paying the international wire fee. You have to work out if the 0.5% exchange fee plus 0.3% Bitstamp exchange fee comes out to more than the international wire fee.
Since Mtgox EUR and bitcoin central trade in euros, you don't have to worry about the 0.3% fee for converting from EUR to USD, but it is also worth considering whether the site you are sending your euros to tends to have a higher or lower average price than other exchanges. It is no use saving 0.3% on currency conversion only to find out that prices at your destination site are 1% higher.