Welcome to Flyertalk, yunghun.
If you are located close to a CX gateway (LAX, SFO, JFK), I would recommend the British Airways card with Chase. BA's one-partner reward by far has the best redemption value in Y/J (50k miles in Y or 100k in J, vs AA - 70k in Y or 110k in J). Its fallback - you MUST depart from a CX's gateway. Otherwise you would have to pay out of pocket to get to that gateway.
Between SPG AMEX and the Citi AA, I would prefer the SPG AMEX. SPG AMEX's annual fee is lower ($45). You also practically spend $20K and get 25K miles with many airlines at your choice (CX, AA, AC, BA, DL, JL, OZ, US, etc.) Apparently you open up a lot of options for yourself. I do agree with Cathay Boy, though, that you can get higher value with the SPG points with hotel stays.
With the Citi AA, you pay a higher annual fee $50/$85, and when you spend $20K, you "only" get 20K miles.
EDIT: now thinking a little more, I would even prefer the SPG AMEX over the BA-Chase Visa due to the 5K transfer bonus miles for every 20K miles you transfer.
EDIT 2: Alaska Airlines is also a partner of CX. You can also use the SPG AMEX to accumulate points, transfer them to AS, and redeem for a CX flight (just like how you do with the AA/BA/CX programs). I would recommend doing some research on each of these programs and find out which one is the best for you.