You should not address this task on sql level. In version 2012 you have the possibility to use culture specific formatting (see
MSDN[
^]), but before that you can only solve this by string manipulation, which might look good at first sight, but is a bad idea, because this should be a concern of the presentation layer (user interface, reporting tool, whatever...), not of the data store.
But if you stick to this approach, start here:
http://sqlusa.com/bestpractices2005/moneyformat/[
^]. Beside the possibilities demonstrated there you can also make CLR integrated function for this task. This is a sample for DateTime formating, but it is quite easily adaptable to your needs:
http://sqlsteve.com/2009/05/13/sql-server-datetime-format-function/[
^].