That's why I use CONVERT - I see it as being consistent whether I need 3rd parameter, or not.
I have to use SELECT for:
SELECT @MyErrNo = @@ERROR, @MyRowCount = @@ROWCOUNT
(SET cannot set multiple parameters in a single statement) so I always use SELECT to set @variables, and never use SET, for the same reason of consistency.