I can't give a comparison of the various approaches but the ANTLR group has covered a wide range of rich target languages:
which include most of the current common ones. ANTLR also supports a variety of output languages. We plan to tackle a CSS-like language