Matrix rows or columns are traditionally listed under $(x,y,z)$ order.
Cyclically change the pairs under consideration i.e $(x,y)\to(y,z)\to(z,x)$. The pairs $(x,y)$ and $(y,z)$ show up in the same order in the matrix but the $(z,x)$ shows up in reverse in the matrix. That is the cause of apparent discrepancy but really there is no discrepancy.
For example write
$x'=x\cos \alpha - y \sin \alpha$
$y'=x\sin \alpha + y \cos \alpha$
now change $(x,y)\to(y,z)\to(z,x)$ and $\alpha\to \beta \to \gamma$ and write the three matrices to see how $(z,x)$ part gets flipped.
Edit:
If you want them to look alike then give up the matrix notation and instead write
$y'=y\cos \beta - z \sin \beta$
$z'=y\sin \beta + z \cos \beta$
And
$z'=z\cos \gamma - x \sin \gamma$
$x'=z\sin \gamma + x \cos \gamma$
In each instance if you try to write $\left[ \matrix{ x' \cr y' \cr z'}\right]$ in terms of $\left[ \matrix{ x \cr y \cr z}\right]$ you will see that the mystery goes away.
After a lot of searching, I have finally found a reference that has what I needed. Although it doesn't appear in a 'Quaternion to Euler' or 'Quaternion to Tait-Bryan' google search, when I gave up and started looking for 'Quaternion to Axis-Angle' with the intention of going through that representation as an intermediate step, I came across the following wonderful document:
Technical Concepts
Orientation, Rotation, Velocity and Acceleration,
and the SRM
Version 2.0, 20 June 2008
Author: Paul Berner, PhD
Contributors: Ralph Toms, PhD, Kevin Trott, Farid Mamaghani, David Shen,
Craig Rollins, Edward Powell, PhD
http://www.sedris.org/wg8home/Documents/WG80485.pdf
It covers a lot of the formalisms, but most importantly, shows derivations and solutions for 3-1-3 and 3-2-1 Euler angle representation. It also seems to cover inter-conversion between pretty much every other rotation representation I'm aware of, and so I would also recommend it as a good general reference.
Oh, and the actual solution for a 3-2-1 ($z-y-x$) Tait-Bryan rotation convention from that reference:
$$
\phi = \operatorname{arctan2}\left(q_2 q_3 + q_0 q_1,\frac{1}{2}-(q_1^2 + q_2^2)\right) \\
\theta = \arcsin(-2(q_1 q_3 - q_0 q_2)) \\
\psi = \operatorname{arctan2}\left(q_1 q_2 + q_0 q_3,\frac{1}{2}-(q_2^2 + q_3^2)\right)
$$
Note that the gimbal-lock situation occurs when $2(q_1 q_3 + q_0 q_2) = \pm1$ (which gives a $\theta$ of $\pm \frac{\pi}{2} $), so it can be clearly identified before you attempt to evaluate $\phi$ and $\psi$.
(Convention for arctan2 is $\operatorname{arctan2}(y, x)$, as hinted on page 3.)
Best Answer
Actually, if you write out the explicit matrix form of each transformation, there are some fairly obvious ways to extract the angles from the entries in the matrix, although there are some special cases to observe due to the fact that some of the entries may be zero. You can find procedures for obtaining the angles in http://www.sedris.org/wg8home/Documents/WG80485.pdf (in particular sections 3.2.4.1 and 3.2.4.2) and in several other places.
This suggests that you could convert from one system to the other by converting a given set of angles to a rotation matrix and then converting the matrix to the angles in the other system. In practice, you could save a few steps by computing the entries of the matrix only when they are required by the procedure for extracting the second set of angles.