There is an open source application called notifu which is a command line tool for creating notifications in the system tray. This application has a '/q' option which disables the sound when the balloon pops up (I tested this). So it must be possible somehow (for exactly how I should try to understand the source code) to disable sound on a per message basis.