Cheapest USD to GBP transfer
Use a remitting service such as Ria Money Transfer. Almost all these services allow you to transfer upto $2999 at a time. So, you would be able to transfer the entire amount of $4500 within 2 business days(There is a monthly limit too, but it will definitely be more than $4500). There are no fees to use these services, but they do scrape off a bit on the currency rate. As of today you are getting 624 GBP for $1000 whereas the market rate is $641.95. You still save roughly $17 and 4 transactions, which adds up to more than $100. Here is a link to Ria's website. Other services, include Xoom, Western Union, Money Dart and Money Gram.
If you are a Russian citizen a much easier and common solution would be a USD or EUR withdrawal from your Webmoney account to your Cyprus bank account. You will need to create a Webmoney account (www.webmoney.ru), get a primary certificate in your local Webmoney office in Russia (The list is available at the website), create WMZ (for USD) and WME (for EURO) accounts in Webmoney (done online). Then you can easily top up your Webmoney WMR (Rubles) account (created automatically) with Rubles, convert the sum into USD (According to the Webmoney rate, which is only slightly different from the official central bank rate) and then withdraw the money from your USD Webmoney account to your Cyprus bank account. The money will be transfered to your Cyprus bank account from UK Webmoney dealer. The transaction description would say that this sum is transfered according to the contract of sale of securities. This method prevents any Russian regulatory authorities from seeing your transactions. And the best thig in Webmoney is that they have stable exchange rates and they use classic currencies such as USD, RUR, EUR, etc. Webmoney also has WMG accounts (Gold) and WMX accounts (Bitcoin). Non-Russian residents can also open a Webmoney accounts. You can get one even in Cyprus, by the way:) I just decided to start using GnuCash today, and I was also stuck in this position for around an hour before I figured out what to do exactly. The answer by @jldugger pointed me partially on the right track, so this answer is intended to help people waste less time in the future.  (Note: All numbers have been redacted for privacy issues, but I hope the images are sufficient to allow you to understand what is going on. ) Upon successfully importing your transactions, you should be able to see your transactions in the Checking Account and Savings Account (plus additional accounts you have imported). The Imbalance account (GBP in my case) will be negative of whatever you have imported. This is due to the double-entry accounting system that GnuCash uses.    Now, you will have to open your Savings Account.   Note that except for a few transactions, most of them are going to Imbalance. These are marked out with the red rectangles.   What you have to do, now, is to click on them individually and sort them into the correct account. Unfortunately (I do not understand why they did this), you cannot move multiple transactions at once. See also this thread. Fortunately, you only have to do this once.  This is what your account should look like after it is complete.   After this is done, you should not have to move any more accounts, since you can directly enter the transactions in the Transfer box. At this point, your Accounts tab should look like this:  Question solved! After doing this many times, my preferred method is: The reason being that the US banks will use every chance possible to take your money in fees. Usually the German bank website will tell you what the current exchange rate. You were correct in selecting Transfer in $ and got the exchange rate. In my experience if you transfer in Euros, the US bank at the other end, will take about 3-5%, because they can. Selecting OUR means that you only have the fee taken out by the Source bank. By doing shared, it looks like both banks took their full fee. If you chose OUR, I'm fairly certain you just would have paid the 1.50 and the 20. Chase would not have taken the 15. I prefer to use a Foreign Exchange transfer service.  You will get a good exchange rate (better than from Paypal or from your bank) and it is possible to set it up with no transfer fees on both ends.  You can use an ACH transfer from your US bank account to the FX's bank account and then a SEPA transfer in Europe to get the funds into your bank account.  Transfers can also go in the opposite direction (Europe to USA). I've used XE's service (www.xe.com) and US Forex's service (www.usforex.com).  Transferwise (www.transferwise.com) is another popular service. US Forex's service calls you to confirm each transfer.  They also charge a $5 fee on transfers under $1000. XE's service is more convenient: they do not charge fees for small transfers and do not call you to confirm the tramsfer.  However, they will not let you set up a free ACH transfer from US bank accounts if you set up your XE account outside the US. In both cases, the transfer takes a few business days to complete. EDIT: In my recent (Summer 2015) experience, US Forex has offered slightly better rates than XE.  I've also checked out Transferwise, and for transfers from the US it seems to be a bit of a gimmick with a fee added late in the process.  For reference, I just got quotes from the three sites for converting 5000 USD to EUR: "I'd recommend an online FX broker like XE Trade at xe.com.  There are no fees charged by XE other than the spread on the FX conversion itself (which you'll pay anywhere). They have payment clearing facilities in several countries (including UK BACS) so provided you're dealing with a major currency it should be possible to transfer money ""free"" (of wire charges at least).  The FX spread will be much better than you would get from a bank (since FX is their primary business). The additional risk you take on is settlement risk.  XE will not pay the sterling amount to your UK bank account until they have received the Euro payment into their account.  If XE went bankrupt before crediting your UK account, but after you've paid them your Euros - you could lose your money. XE is backed by Custom House, which is a large and established Canadian firm - so this risk is very small indeed. There are other choices out there too, UKForex is another that comes to mind - although XE's rates have been the best of those I've tried." In addition to TransferWise that @miernik answered with and that I successfully used, I found CurrencyFair which looks to be along similar lines and also supports US$. He can send you a check. This will move the burden of GBP->USD conversion to him (unless the GBP amount is preset, then you'll be the one to pay for conversion either way). You can then deposit the USD check in any Israeli bank (they'll charge commission for the deposit and the USD->ILS conversion). Another, and from my experience significantly cheaper, option would be to wire transfer directly to your account. If you have a USD account and he'll transfer USD out - it will be almost at no cost to you, if you don't have a USD account check with your bank how to open it, or pay for USD->ILS conversion. Probably the easiest to do is to do an international transfer via online banking. You will need to give your IBAN and BIC/SWIFT code of your bank to your friend, he should then be able to transfer the money from his bank. At least, I think they use IBAN in Israel as well. The money will be converted to the currency of your account. There are some fees, but they are not too big I think, and depending on the choice of transfer they can be paid by sender, shared, or by receiver. Contact your bank for precise details. Edit: if you really need to be paid in USD this may not be the best option though. In general, to someone in a similar circumstance I might suggest that the lowest-risk option is to immediately convert your excess currency into the currency you will be spending. Note that 'risk' here refers only to the variance in possible outcomes. By converting to EUR now (assuming you are moving to an EU country using the EUR), you eliminate the chance that the GBP will weaken. But you also eliminate the chance that the GBP will strengthen. Thus, you have reduced the variance in possible outcomes so that you have a 'known' amount of EUR. To put money in a different currency than what you will be using is a form of investing, and it is one that can be considered high risk. Invest in a UK company while you plan on staying in the UK, and you take on the risk of stock ownership only. But invest in a German company while you plan on staying in the UK, you take on the risk of stock ownership + the risk of currency volatility. If you are prepared for this type of risk and understand it, you may want to take on this type of risk - but you really must understand what you're getting into before you do this. For most people, I think it's fair to say that fx investing is more accurately called gambling [See more comments on the risk of fx trading here: https://money.stackexchange.com/a/76482/44232]. However, this risk reduction only truly applies if you are certain that you will be moving to an EUR country. If you invest in EUR but then move to the US, you have not 'solved' your currency volatility problem, you have simply replaced your GBP risk with EUR risk. If you had your plane ticket in hand and nothing could stop you, then you know what your currency needs will be in 2 years. But if you have any doubt, then exchanging currency now may not be reducing your risk at all. What if you exchange for EUR today, and in a year you decide (for all the various reasons that circumstances in life may change) that you will stay in the UK after all. And during that time, what if the GBP strengthened again? You will have taken on risk unnecessarily.  So, if you lack full confidence in your move, you may want to avoid fully trading your GBP today. Perhaps you could put away some amount every month into EUR (if you plan on moving to an EUR country), and leave some/most in GBP. This would not fully eliminate your currency risk if you move, but it would also not fully expose yourself to risk if you end up not moving. Just remember that doing this is not a guarantee that the EUR will strengthen and the GBP will weaken. "I've done exactly what you say at one of my brokers.  With the restriction that I have to deposit the money in the ""right"" way, and I don't do it too often.  The broker is meant to be a trading firm and not a currency exchange house after all.  I usually do the exchange the opposite of you, so I do USD -> GBP, but that shouldn't make any difference. I put ""right"" in quotes not to indicate there is anything illegal going on, but to indicate the broker does put restrictions on transferring out for some forms of deposits.    So the key is to not ACH the money in, nor send a check, nor bill pay it, but rather to wire it in.  A wire deposit with them has no holds and no time limits on withdrawal locations.  My US bank originates a wire, I trade at spot in the opposite direction of you (USD -> GBP), wait 2 days for the trade to settle, then wire the money out to my UK bank.  Commissions and fees for this process are low.  All told, I pay about $20 USD per xfer and get spot rates, though it does take approx 3 trading days for the whole process (assuming you don't try to wait for a target rate but rather take market rate.)" I did this for a few years and the best way I found was via http://xe.com/ It uses a bank transfer from your UK bank to xe.com (no fees from bank or xe). On the Canadian side, they use EFT (Electronic Fund Transfer, no fees from bank or xe.com) They have very competitive exchange rates. To make a transfer, you log in to xe and arrange your transfer. This locks in the rate and tells you how many GBP you need to transfer in. Then, transfer your money from the UK bank into xe using the details they provide. Two or three days later the money shows up in your Canadian acount. There's a bit of paperwork they need to set it up but it's not very hard. After it's set up, everything else is online. Enjoy! "The ""hidden"" fees in any transfer are usually: Foreign exchange transfer services are usually the cheapest option for sending money abroad when a conversion is involved. They tend to offer ways to get the money to or from them cheaply or for free and they typically offer low or no fees plus much better exchange rates than the alternatives. My preferred foreign exchange service is XE Trade. It looks like they support CAD to ZAR transfers so you might check them out.  In my experience, they have not set a minimum on the amount I send although it does impact the exchange rate they will offer.  The rate is still better than other alternatives available to me though. Note that for large enough transfers, the exchange rate difference will dominate all other costs.  For example, if you transfer $10,000 and you pay $100 for the transfer plus $50 in wire fees ($150 in fees) but get a 2% better exchange rate than a ""free"" service, you would save $50 by choosing the non free service." Well, one way I avoid all exchange fees is to trade currency with an individual. There's no trick, though. Just find a friend or family member on the other side of the border who wants your USD or your CAD, look up the exchange rate for the day, and hand over the money (or write each other checks). It's win-win because both sides are getting a good deal with no fees. "There isn't a single rate that works in both directions.  There are two rates, one for each direction.  So if $1 = 64.23 INR, you may find that 100 INR = $1.55.   In fact, it's even worse than that.  The ""rates"" are just the average values at which transactions occur.  What happens in the real world is that someone (presumably your bank in this instance) offers to sell 100 INR for some amount, perhaps $1.56.  Other traders may either accept this price or refuse to trade.  If they refuse to trade, the bank may accept one of their offers, perhaps $1.55.   Anyway, the answer to your question is that whomever does the actual conversion keeps the ""difference"".  Of course, they may then lose that money if the value falls before they sell.  More confusingly, either your bank or your friend's bank could do the conversion itself.  Either or both could hold balances in various currencies so that they don't have to rely on the vagaries of the exchange market.  This is called a money market account, and banks let their customers invest in them.   It is a bit more likely to be your bank that gets the money than your friend's bank.  Your friend's bank doesn't actually need to know that your account is in USD.  They just transfer the amount in INR.  It's your bank that has to convert that into USD to deposit in your account." I've been using xetrade for quite awhile, also used nzforex (associated with ozforex / canadian forex, probably ukforex as well) -- xetrade has slightly better rates than I've gotten at nzforex, so I've been using them primarily.  That said, I am in the process of opening an account at CurrencyFair, because it appears that I'll be able to exchange money at better rates there.  (XETrade charges me 1.5% off the rate you see at xe.com -- which is the FX conversion fee I believe -- there are no fees other than the spread charged).  I think the reason CurrencyFair may be able to do better is because the exchange is based on the peer-to-peer trade, so you could theoretically get a deal better than xe.com.  I'll update my answer here after I've been using CurrencyFair for awhile, and let you know.  They theoretically guarantee no worse than 0.5% though (+ $4.00 / withdrawal) -- so I think it'll save me quite a bit of money.