When does a stationary state have zero magnetic moment? If the Hamiltonian is invariant under parity, nondegenerate energy eigenstates cannot carry permanent dipole moment because $\langle n|{\vec r}|n\rangle=0$. Is there a similar property of the Hamiltonian for which we can say that $\langle n|{\vec J}|n\rangle=0$ where $\vec J=\vec L$ or $\vec J=\vec S$, and thus zero permanent magnetic moment?
 A: Obviously it is not true that $\langle n \vert \vec L\vert n\rangle=0$ since
for instance $\langle n\ell m \vert L_z\vert n\ell m\rangle=m\hbar$.
Physically, $\vec r\to -\vec r$ under parity but $\vec L=\vec r\times\vec p\to (-\vec r)\times (-\vec p)=+\vec L$: $\vec L$ is a pseudo vector whereas $\vec r$ is a true vector.
Technically, the difference with $\vec r$ is in the reduced matrix element, which is (of course) different for the components of $\vec r$ and $\vec L$: the specific reduced matrix element required in your example can be evaluated using an integral of the type
$$
\int d^3x \psi^*_{n\ell m}(\vec r) z \psi_{n\ell m}(\vec r) \tag{1}
$$
which is $0$ by parity, whereas the corresponding integral with $z\to L_z$ needed for angular momentum is not necessarily $0$ since
$L_z= xp_y-yp_x$ does not change sign under parity.
Although I use $z$ and $L_z$ in the example above, a similar argument holds for an arbitrary combination of $n$-states, and $x,y$ or $L_x,L_y$: the reduced matrix element does not depend on the component of the tensor operator, or on the magnetic quantum number.
I don’t think you can escape integrals of the type (1) so the only way to get $\langle \vec L \rangle=0$ for all components is by having an $\ell=0$ state (at least for eigenstates of $\hat H$).
