The best rate I could find was on those online websites:
So, these are some kind of online banks specialized in foreign exchange.
The rates they offer are much much better than any regular retail bank: you can see their rates on their official websites, & compare them with your regular retail bank. The difference can be as high as saving 100 USD for every 2000 USD you exchange.
Signing up for an account with those guys is very quick, it takes just a couple of business days with CurrencyFair & I expect a similar delay for TransferWise.
On top of being very cheap on the rate, then sending your money to any account (in the supported countries) only cost 4 USD (at currencyfair). Versus your regular retail bank probably charging you 10 to 15 USD to send money abroad.
In your case, the only trick is that you'd need to then send the exchanged money to a CHF account. To then access it, use it. Not sure how easy (& how expensive) it is for you to setup an account with a foreign currency (in my retail bank it's free so it was a no-brainer).
Making myself clearer with a real-life example: I had to change Swiss Francs (CHF) in USD, see the steps I followed:
- Open an account with CurrencyFair (free & took 1 business day)
- Open an account in USD with my retail bank "bank x"
- Transfer my CHF from "bank x" account to my CurrencyFair account
- Exchange the money in USD on CurrencyFair
- Transfer the USD from CurrencyFair account to my bank account in USD in "bank x"
I did use this service times, & some friends also use this service, this works amazingly well & you save a crazy amount of money.
Note: I chose to use CurrencyFair rather than TransferWiser because it is more transparent than transferwise on "how it works", but also because it provides more options on exchanging money (see "Why use the CurrencyFair MarketPlace").