Yeah, the Starwood Amex is definately the best way to go. Most importantly, they do not have the capacity controls of the other programs. You can also funnel the points to almost any airline (except UA) at a reasonable rate.
I would probably not bother with Diners. I honestly cannot see anything that it can get you that Starwood cannot, other than UA. I have probably never seen an establishment that accepts Diners and not Amex, Diners has a $95 fee and charges you $1 for every 1,000 miles converted. And if you want to go Diners-->SPG, you lose in the conversion. I had Diners once and took advantage of the bonus sign-up points and used the restaurant program to recover the annual fee, but at this point, I do not think it is worth it.
You will also need a Visa/MC to back up the Amex, of course, depending on the amount of charges that you will accumulate that are non-Amex, that will determine if you should use a no-fee one to back up the Amex or a fee card. I have less than $500 per month that are non-Amex, so for me, it is not worth paying a fee for this card. That leaves a Hilton Visa, Amtrak Visa, or a number of Airline cards that give 1/$2. I am not familiar with the Marriott card so I cannot comment but I would stay away from the Priority Club Visa, the earning rate is too poor.