it also depends on how much you transfer. The Thai bank will give you a better rate if you transfer a certain amount. I always use this way with big amounts.
Get yourself a Charles Schwab brokerage and checking/savings account in the states. All can be done online. Do an international wire transfer via USD to the Thai bank. Thai Bank will give you a better rate if it is a large sum. Charles Schwab wire transfer fees is only $15. If you just open an account the first 3 wire transfer fee is free.