Swiftkey fits my needs the best. The auto correction and Swiftkeys ability to predict what you want to write is great. It also lets me switch language by simply swiping the spacebar, which is awesome since I often need to switch between Swedish and English.
I have tried Fleksy but the dictionary and suggestions is not as good as Swiftkey. It also lacks the ability to switch between languagues on the fly.