I would have added this info to another thread, but for some reason all threads are closed after some time, so even if you have something relevant to add you have to make a new, possibly repeated thread.
I was in Johannesburg and changed money several ways, and these were the rates I found for the US Dollar:
- Cash: 8.97 + fee (ranges between 1.3% and 2%) bringing the exchange rate to around 8.79
- ATM: 9.03-9.11 depending on the day
- Credit Card 8.60 (including foreign transaction fee)
- Credit Card 9.11 (card that had no foreign transaction fees)
So as you can see, if you need cash, the best way is using an ATM, and a credit card is a good choice if it has no foreign transaction fees. In fact, the credit card rate and the ATM rate were the exact same on the same day. But exchanging cash and using credit cards with foreign transaction fees are both bad choices. FWIW.