The big question is will you be able to get your required spend for SPG if you don't put this charge on it? If the answer is no, then putting the spend there is an easy answer.
If the answer is yes, then I would consider the following:
1. Do you normally stay at Starwood hotels and earn points? If not, then I would focus on getting just the required points for your specific hotel stay and then focus my earnings elsewhere.
2. In general, an SPG point is quite often considered to be worth more than $.01. So if you don't have any bonus opportunities with your other cards, the SPG Amex may get you your best bang for each $ spent. (But if you don't really stay at Starwood hotels, you may be better off using your other cards once you get your minimum spend in for the Amex.)
3. If you are earning one "point" for every $ spent on any of your cards, note that (at 20K increments) you can get 1.25 airline miles for each $ spent using the Amex. So you can actually earn more miles per $ spent using it than either of the other two. Of course if you have double point options with your other cards, that would trump the extra earning on the Amex.
So if earning airline miles is your top priority, once you get your minimum spend requirements in, I would probably use the Amex at most places and the other cards only when there are bonus point options. Then every time you get 20K SPG points, I'd transfer them over to your airline of choice for 25K miles.