We use iremit.
The exchange rates are very good.
Service charge OK
Normally we just take cash to Barclays bank and make the deposit, iremit receive immediately (also Barclays). Then phone to iremit to inform them where to transfer the Peso. Next day it's there.

They also do internet transfers, but I've never done it

For UK look here:-
http://www.myiremit.com/uk.php

For Spain look here:-
http://www.myiremit.com/spain.php