Hi sidatown,

to the forum! With only three weeks to play with, I would suggest not trying to squeeze too much in. It's tempting to go with the mentality that "I don't have much time, so I must do as much as possible!", but the danger with that is coming back even more exhausted than when you left; holidays are (at least in part) about relaxation, not stress and burning yourself out, and South East Asia's climate, overland transport and general temperament (SE Asia time is not the same as Europe time!) do not lend well to rushing about; I'd suggest what you have planned is too much for an enjoyable three week holiday.
I think the first question to ask yourself is how will you be getting about from destination to destination? Whilst buses are cheap, and you get to see the actual country you're passing through, they take a lot of time and will eat into your holiday.
I'd strongly advise using the South East Asian budget airline carriers of Air Asia and the like to flit yourself about around destinations. They won't be too pricey if you book up now and lock in your itinerary.
How about focusing one week on Vietnam, one week on Cambodia and one week on Thailand?
I'd suggest flying in and out of Bangkok for the cheapest flight prices and the biggest choice of carriers. When you arrive, transfer to an AirAsia flight from BKK to Hanoi and go up to Halong Bay (either under your own steam by train or with an organised tour). On returning to Hanoi, I'd stick to Vietnam; I'd highly recommend bussing/training it down the country and stopping at Hoi An (a remarkable little place), but I don't think you can afford the time; rather, I'd fly on south to Saigon. Get in a side trip to the Mekong Delta; you won't regret it.
Then from Saigon, you can take a bus (or boat I think) to Phnom Penh. The S-21 prison and the other Khmer Rouge locations are not going to be the most joyful highlights of your holiday, but I do recommend going along to them. It'll give you a better perspective of Cambodia and its people. Yes, you can get a bus to Siem Reap; enjoy Angkor Wat for a couple of days and then head into Thailand on an appalling road of constant juddering potholes (or alternatively, fly to Bangkok). Fly or bus it down to the islands and put your feet up for the remainder of your holiday.
This South East Asia itinerary is pretty chocka as it is for three weeks, and it doesn't even touch Laos!
I guess you have to decide on your priorities. Do you want to squeeze in as much as possible but spend your holiday largely on uncomfortable bus journeys - or would you rather sacrifice seeing less in exchange for more time relaxing in fewer destinations?