swype was so damn good and nothing comes even close. too bad it got killed off.
windows phone keyboard was good too. the key "hitbox" would grow or shrink based on predictive text and typing speed, so if you're writing something from the dictionary you could just slap the rough area of the button and it would register the most likely one. You'd feel it though when typing in something from outside the dictionary, suddenly it felt like you forgot how to type. Once you slowed your typing down it returned to behaving like a standard keyboard.
Also, it had a little trackpoint-type nub on the virtual keyboard which you could drag for moving the cursor. It was significantly more accurate than anything else in any mobile OS.