I've played around with both SwiftKey and the Google Keyboard for Android. Gesture typing on both.
I like the text correction algorithms better on the Google Keyboard. It's hard to pinpoint, but I think SwiftKey tries to correct to a more commonly used word set. For example, say I want to enter a more obscure word and I make a gesture that's fairly close to what I want. Google will recognize that the gesture as fairly close and correctly adjust to that word while SwiftKey will assume that I couldn't possibly be trying for a word that obscure, assume I was just sloppy with my gesture and make a bigger adjustment to the closest common word that it can find. It can work the other way too with Google associating your sloppy gesture with some obscure word you don't want. Personally I think Google's approach works better for me, but ideally it would be nice to have a setting to adjust the aggressiveness.
The big upside for SwiftKey is you can turn on dedicated arrow keys. That makes editing and copy/pasting infinitely easier.
Currently using SwiftKey, but the auto correct is really starting to annoy me.