Which is better has been covered pretty well in this thread already. Let's assume that you decide templating is the way to go. Now you'd need to know how to go about implementing them and the approaches other have taken would help. So, here's some nodes (I'll add more as I find them)

When putting a smiley right before a closing parenthesis, do you:

Use two parentheses: (Like this: :) )
Use one parenthesis: (Like this: :)
Reverse direction of the smiley: (Like this: (: )
Use angle/square brackets instead of parentheses
Use C-style commenting to set the smiley off from the closing parenthesis
Make the smiley a dunce: (:>
I disapprove of emoticons
Other