The fact that the Starwood AmEx happens to be branded for a hotel chain is irrelevant. Across the board, considering low fee, airline flexibility and the bonus if you transfer 20K Starpoints at a time, it's the best way to earn airline miles out there. Its only drawback is that some places don't take AmEx cards, so you need Visa/MC (can be Diners) as backup.
I see no reason to change unless you want to redeem your points mostly for discount economy award flights and you charge a lot. In that case, one of the cards that has its own award program might make sense.