I've tried others but I keep coming back to Swiftkey, mostly due to 3 factors.
1) muscle memory. I've used it almost exclusively for 4 years, and I struggle to adapt to another keyboard's spacing and layout
2) long-press for punctuation. Some other keyboards have it but each one is slightly different where they put the punctuation.
3) predictions. Like I said I've used it almost exclusively for years so it knows me fairly well - although lately the predictions have been really off lately. I deleted my SwiftKey cloud info (predictions and dictionary) so we'll see if that brings things back a bit. (the fact that it learns from Facebook, Twitter, SMS, Google+, and Gmail is nice too). I also dial back the long-press time to about 280ms and disable sound and vibration feedback - which seems to make a huge difference in performance.
The only one I found was decently close was Kii - but I can't seem to find it anymore (unless it got re-named). If Google's keyboard had long-press punctuation as opposed to on a second screen I'd give it a shot but that 2nd screen punctuation just bothers me for whatever reason. Its speed is really awesome though - I won't dispute that!