The main problem has always been incomplete wire reference details. It is this reference that tells the recipient (in this case us) what the money is intended for. It is very helpful when you are receiving hundreds of payments every month for the same amount to know which invoice the sender intended to pay. All too often the bank has cutoff the reference entirely, not bothered to type in the reference details provided or instead of using the reference the client provided, sends some idiotic note like:
"A PAYMENT FROM ONE OF OUR CLIENTS"
Traditionally, to ensure that the recipient receives the correct amount, the sender would mark the wire payment as 'Charges ours' meaning that the sender would be responsible for all charges and the sending bank would bill the sender for all fees that would be charged to send the money to the recipient's bank account. The end result is that the full amount sent is received. Send $1,000 to client A's bank account. Client A receives $1,000. This is no longer the case.
Enter "Intermediary Bank Fees"
Often, a bank will need to route the money through a middle bank (Sending Bank - Middle Bank - Recipient's Bank). Of course this middle bank needs to be compensated for passing on the money. Most of the time, the middle bank has a working relationship with the sending bank, then there is no intermediary charge. The bank's fee is included as part of the sender's fee.
Now there is a reason why they are not interested in telling you the true cost. After all, would you spend $70 to wire $200 to anyone? It costs half as much to purchase a bank draft. Hell, even Western Union does not charge that much and PayPal is also a much cheaper valid option.
In addition to these Intermediary Bank Charges, are side agreements between banks. Take this explanation from a client who actually received a truthful explanation from his bank:
We have spoken to [our bank] with regard to the charges deducted from the payment for Fiduciary. They are the USD correspondent bank for [bank x], and there is a bank to bank agreement that [our bank] take a charge from the amount remitted, and the fact that the payment was sent as charges "OUR" has no relevance. Unfortunately there are many banks like this nowadays, some people include ancillary charges in their payment to cover for these anomalies.
One thing I do not understand is why are International Bank Transfers still so messed up. I can be halfway around the world, but to get money, I only need to find an ATM. I just stick my bank card into an ATM and get local currency and my bank deducts the US equivalent from my bank account or adds it to my charge card balance, at no charge. (I understand that this is not true for all banks, but the point is that the international bank transfer infrastructure already exists for ATMs.)