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