Aquí hay una linda alternativa que no usa case :
replace('$' + CONVERT(VARCHAR(255), CONVERT(MONEY, MYCOLUMN), 1), '$-', '-$')
Nota:siempre debe incluir una longitud cuando use varchar en el servidor SQL. La longitud predeterminada varía según el contexto y puede no ser suficiente