There's no way that's totally free of any charges (since there's always a fee or some form of commission involved when exchanging currencies) but here are some suggestions for you:
Probably the easiest way is to use a service like Ikobo. They send you a Visa Prepaid Card and your friend tops it up periodically from either his bank account or his credit/debit card. You can withdraw the money from any cash machine with the Visa symbol (which, to the best of my knowledge, means every cash machine in the UK) or use the card to pay for goods in shops or online:
https://www.ikobo.com/
I've used Ikobo quite a lot and I'm a big fan of it, but an alternative is to use PayPal. People often only think of PayPal in relation to eBay transactions, but you can use it to transfer funds which are unrelated to any purchases:
https://www.paypal-ma.../send_to_a_friend.htm
Services like Western Union (available at a wide variety of shops) and MoneyGram (available at the Post Office and elsewhere) are also popular for international money transfers, but they can be expensive to use.
Chris
(PS: While I'm happy to recommend Ikobo, Western Union and MoneyGram for transferring money between friends, they should never be used for internet purchases. It's far too easy for someone to receive your funds and then simply disappear, without sending your goods).