Be aware that cancelling credit cards before the annual fee hits can reduce the age of your credit accounts and impact your credit score. Make sure you keep a couple free cards open long term (make a small purchase every year) as that will help reduce the impact of closing credit card accounts.
I would agree that the Citi Aadvantage cards (2 for 150,000 miles) and the Chase Sapphire Card are the best offers out there right now. I took advantage of the Amex Gold Premier Card bump the bonus but Amex has either stopped matching targeted offers or made it much more difficult to find a customer rep able and willing to match a targeted offer. But it is also important to look at what airline (and sign up bonus) works best for your travel goals. If you want to travel on Lufthansa, you can do it for the cost of taxes with United miles, so I would get as many Continental miles as you can before they go away and transfer them to United. The Sapphire Card is a good way to get Continental miles. I wouldn't sign up for a United Card until Chase has another 50,000 mile sign up bonus.