Personally, I would opt for a combination of all three regardless of how long you are spending in Thailand.
Cash is obviously convenient, but carrying large bundles of money around in any country presents risks and Thailand is no different. When you arrive in Thailand you will naturally need some cash to hand to pay for transport to your hotel or guest house. Many people opt to change up some money in their home country so that they have a ready supply of Baht before arriving in Thailand. If you aren’t changing up vast amounts, then you may not worry too much about the exchange rate offered by your home bank or at the airport exchange bureau. If you are concerned about obtaining the best exchange rate for your money, then you are advised to wait until you arrive in Thailand. The rates available from the exchange bureaus at Bangkok airport (and in Thailand in general) will invariably be better than those available in your home country.
I would advise making sure you have an initial supply of 100 Baht notes and 20 Baht notes. If you offer to pay for your 250 Baht taxi ride with a 1,000 Baht note, the driver may not have sufficient change (or he may say that he hasn’t got sufficient change!). The same applies if you are going to any small shop or buying food at a street stall; don’t try and pay for your 30 Baht meal with a 1,000 Baht note.
Cash can also be easily obtained from ATMs which are numerous in all the main towns, cities and tourist resorts. Suvarnabhumi airport has a number of ATMs should you wish to withdraw some money on arrival. All ATMs which accept your Visa/MasterCard/Cirrus card will have an English language instruction button to run you through the withdrawal options.*
Check with your bank or card issuer in advance to find if they charge a fee for overseas cash withdrawals. Many banks and credit card companies will charge you a minimum percentage and this can add up to a sizeable amount if you are relying on your card for cash withdrawals. I can’t speak about banks in all countries, but I know that the Nationwide Bank in the UK has a Flex Account which enables fee-free cash withdrawals abroad. **
Updates:
* Thai banks introduce 150 Baht fee for ATM cash withdrawals.
** Nationwide to introduce fees from May/June 2009.
Justified or not, Thailand (and much of Asia) has a reputation for credit card fraud. That doesn’t mean that every time you use your card somebody will be trying to steal your details, but it is wise to apply some caution about how and where you use your card and always retain your receipts. I don’t want to overplay the dangers (in my opinion the UK is worse than Thailand for credit card fraud), but I would always make sure you have sight of your card to prevent possible cloning.
They may not be too fashionable these days, but I think it can be useful to have at least a small amount of money in travellers cheques. If for no other reason than to have an emergency standby should anything happen to your credit or debit cards. If you don’t use the the cheques, they can be paid into your home bank account or exchanged back for cash. The usual advice applies about keeping the receipt separate from the cheques and not storing them with your passport.
When changing travellers cheques at a Thai bank or exchange bureau you will need to present your passport and sign the cheque in front of the bank official. A small charge is applied (approximately 33 Baht) for each cheque changed.