I just use swipe typing, but my dad absolutely loves MessagEase, which is basically a 9-key keyboard. The gimmick is that every letter is a gesture; nine letters are just taps, and everything else (including some punctuation) you start on one of those nine keys and swipe in one of eight directions (up, left, upper left, etc.). I think there are a couple of other large keys, like a space bar at the bottom and delete and "switch to numbers and extra punctuation" on the right, but you mainly use the nine for words. It's not terrible, and he's gotten moderately fast at it. Might be worth a look.
Edit: Oh, I've just seen that MessagEase is now unmaintained, and the "thumbkey" mentioned in another comment is basically a replacement. So I guess this is just another recommendation for that keyboard! Oops.