1) I found problems with Rotation3D when designing project(). I coundn't make it work as I needed it. Hence the matrices. 2) EulerAnglesZYZ is a way of enforce the ZYZ convention when using EulerMatrixZYZ. Just a nice way of constructing a EulerMatrixZYZ whitout passing a Vector3D, as you suggested with SphericalCoords.
I definitively need the code.
Given that one can create a Rotation3D from Euler angles I don't see any reason to expose the second.
Not entirely true. Right now you can create it for other conventions (I don't remember which ones, but at least two), not ZYZ. I mentioned at some point the need to establish a convention, or a general framework to treat conventions, comment that was ignored. If the functionality is there and works, why not expose it?