I learned this through trial and error. On my first international trip I had no idea what to do so I did the stupidest thing I could. I exchanged it at a bank in my own country. I didn’t even look up the official exchange rate, so I had no idea the bank was fleecing me for 10%. Ugh! It was the only time I did this.
A common currency exchange place is at the destination airport. It’s convenient and they will always have the country’s currency you seek, unlike a bank in your home country. But again, plan to pay a premium for this convenience. My experience is this is in the 5-8% premium range. Maybe higher. Too high for me! But at times a necessary expenditure if you need to pay a cab driver who likely only deals in cash. In this case get an idea of what cab fare is and only exchange enough for that charge. Exchange the rest you need later at a more favorable location.
Tip: I have asked the cab driver at the airport if he knows of a place to stop enroute where I can get a good exchange rate. They often know the best places and have never charged for the stopover.
But before you exchange any amount at the airport, seek out an ATM machine if available, this is often the best currency exchange option. These are almost always available in airports. The charge is in the low single percent numbers, probably an average of about 2% plus any small fixed charge your bank charges (if they do) for using an ATM. But be careful here! Some ATM machines act like they’re doing you a favor by asking if you want to do the exchange in your home country or their currency. Always select the country’s currency you’re in at the time as they will add on their own currency exchange rate if you select your home country currency. It’s a big scam I wish was illegal because it is so confusing to the naive tourist. Repeat: Always select to be charged in the currency of the country you’re in at that time.
Another convenient option many use is at the hotel where they are staying. But again, there is a charge for this convenience often near the same premium your home country bank charges, upward to 10%!
Another option is to exchange currency at the bank of the country you’re visiting. Again, expect to pay a higher premium as well as waiting in a long cue for this privilege. Not for me (although I have done it).
I often seek out money exchange kiosks that are found all through the larger cities. This can be a good option. But do some shopping. They’re not all the same. Google the best ratein your area. But I would avoid this option if the exchange differs by more than 3% of the official rate.
Many countries accept the US dollar and the Euro for legal tender. Usually the exchange rate the vendor gives is unfavorable but not always. I often ask what they'll charge for cash in both currencies then decide. But if you're not good at math in your head or don't have a calculator (all phones do now), then it's best not to gamble.
But the best option can be to use a credit card that does not charge a foreign transaction fee (before traveling check which cards you have that do not charge this). You will usually get the best exchange (true exchange) rate and it minimizes the cash you’re carrying around. Also it gives you all the credit card protection your bank allows for the purchase. But again, when using this option the vendor may ask you which currency to charge the card. Always say their currency. So if in Thailand, say Thai Baht.
A few last things worth mentioning regarding credit cards. In lesser developed countries credit cards are not accepted or your brand of card will not be. Visa and MasterCard are most acceptable. Also beware of surcharges a vendor may impose. The 3-5% additional fee they might tack on will usually discourage me from pulling out the card, but any points you may get from the purchase can offset this. Do the math and decide.
Currency exchange can be confusing. But if you’re spending $5,000 on a foreign vacation saving 7% on exchange rate can give you an extra $350 pocket money. Multiply that by multiple trips and it’s more than enough to motivate me to be educated and diligent.