The best option to buy USD is at a bank in your home country. The most expensive exchange rate is found at international airports after security checks as you cannot go out of the airport.