ActiveSync is the best email protocol but as far as I know is very costly. JMAP is comparable to ActiveSync but will see will gain enough adoption when RFC is finished.
I personally found z-push very buggy. Also you need your own DAV servers for calendar and contacts AFAIK. I found Horde and SOGo much more reliable, I went eventually with SOGo as I thought it was weird using PHP for a long running server. With php stuff (horde and z-push) I had to edit too many timeouts etc.
I mean, people use it, it's not terrible, I just found it unreliable since at the end of the day it's a PHP app. Though Horde (which is also PHP) was miles better. I think z-push uses the php imap library, which is quite ineffecient. See https://wiki.horde.org/activesync#toc29
SOGo being written in obj-c means it's fundamentally much better suited to this task.