confirmed on 3 different networks, including those not recognizing the & prefix, swiftirc and freenode. They're sending a separate privmsg multiplied by each of the other ops in channel.
A workaround that works at these 3 different network ircd's is an alias like this:
alias onotice notice @ $+ $$chan optional_text_here $1-
This should work at the networks showing the @#channel bug. For other ircd's not supporting that format, this alias won't work. I'm guessing that the other networks not using the @#channel format are working fine, so at those networks the alias could selectively use "if ($network == name) !onotice $1- | else notice @ $+ $$chan $1-