SwiftKey on Android is still by far the best for me, but unfortunately other problems with Android (namely the dearth of high-end devices under 5") are probably going to force me to switch to iPhone.
The default Apple keyboard makes me incredibly frustrated, especially when used one-handed (which is 90% of my usage). No flow typing, and nearly all numbers, punctuation, and symbols are locked away behind layers of menus. I do find it the most accurate for typing in unpredictable plain text, but that's not very useful even for passwords (LastPass + most of my passwords have symbols in them).
Most of the third party keyboards are crippled shadows of their Android counterparts, but I can least get flow typing through them.