I use https://transferwise.com/ for British Pound <=> Euro. First couple of times takes about 1 day, later (whatever scoring they use) it goes down to hours. I've seen within an hour once.
There are no good international money sending services because it’s a highly regulated industry. These regulations, such as AML laws, are important but cause transactions to be slower and more expensive.
- the number of intermediaries in the chain: the bank to which the money is going usually doesn't have an account with the bank that sent the money, so effectively the transfer is split up into multiple transfers between banks
- foreign exchange volatility: when sending money abroad, the bank gives you a firm quote now for the rate at which they will convert one currency to another; they reduce the chance they will lose money by charging you a rate worse than the current mid-market rate.
- operating costs: banks have to run processes for AML, KYC, CS etc.
- risk/fraud costs: provisions for actual losses from internal/external fraud
To your later questions:
- many companies have tackled this issue and aim to make it cheaper and/or faster: Moneygram, Western Union, OFX, HiFX, CurrencyFair, TransferWise, ...
Which is the cheapest service for the currency pair in which you're interested? How much do they charge?