We have been using XE Trade for a few months and are really happy with it.
To answer your questions whispersarah:
There is a total limit on the amount that you can transfer and I think it is per month, but we needed them to raise it for us and they did without any problems or questions.
The fees will vary, but we were pay £30 for transfers to Germany through Barclays and with XE we pay £8.41...big difference.
I don't think you can do it like a direct debit because you have to actually set the transfer through XE and then transfer the money from your bank to them. There isn't usually a fee for this because it is a BACs transfer and UK banks don't charge for those. You can, though, fix your trading rate for up to a year.
As far as I know you can transfer from anywhere to anywhere except for a short list of countries that, for security reasons, you cannot transfer money to.