Here's the current state of ZZ.
EOLine is bad for 2H (OH and feet are different). It has bad regrips and overall crappy ergonomics.
EOArrow (EOLine plus either DL or DR edge piece) is better, gives better solutions for speed on the non dominant hand while keeping the blockbuilding aspect.
EOCross (aka ZZ-cross, but don't call it that, it makes it seem like it's a seperate method) is even better, as it allows for non-linear blocks a lot more than the other 2 (linear blocks reduces regrips). It also has at least the same (if not a bit higher) tps as CFOP F2L for a slightly lower movecount over the whole solve. At this point I would say that ZZ is better than CFOP and equal to Roux.
Doing EOCross + a pair is basically the same as EOCross, but slightly better (just as cross+1 is better with CFOP). On the other hand, if you do XEOArrow (the same thing as XEOLine) or XEOCross you definitely surpass CFOP. This is because the movecount is drastically lower (46 and 50 respectively vs CFOP's 56) but with better ergonomics. I would also argue that 'advanced' Roux (just as this is 'advanced' ZZ) is equal to this.
The king of ZZ is XEOArrow on left. What this is is a 2x2x2 in DBL + FL edge + EO. This allows for the EO2x2x3 to be finished with <RUD> then the right block with <RU(D)> then LL. It is the same movecount as XEOArrow, just with better ergonomics. I would be hesitant to say that it is definitely better than Roux, but if I had to choose one, I'd say this, but only by the narrowest of margins. The biggest problem with this is that inspection would have to reach about 13 moves which is pushing it, although people can do it. ZBLL is a given with ZZ and option select can also be applied.
TL;DR - basic ZZ is bad, but it gets so much better the more you do in inspection.
If you want a more detailed thing, ask. (Btw, I'm not sub 10, but I have a 10.06 ao1000 and quite a few ao100s. Currently on 10.14 ao1000.) Also check out Dale Palamares. He's just sub 8 (according to chats with him on discord).