Well, in Switzerland, one of our official languages is the real German (also called High German) with the rules Germany uses as well. We have some words which are only used in Switzerland, but all in all, it's still German. One major exception is that we don't use the ß and just use a double-s instead.

The Swiss German dialect, on the other hand, falls under Alemannic (gsw) and is only used in direct communication (orally, chat, etc.).

The current value in name:gsw is therefore wrong, as it is German and not Alemannic.

Swiss High German and German are therefore comparable to how British English and American English relate to each other, although I'd say the English variants differ even more from each other.

As far as I know, there is no key to differentiate between American and British, analogously there's no key for the case here as well.

I think not:name or alt_name:could be an option, combined with the note:de already there. But I think especially new mappers won't look closely enough at these tags to completely get rid of that problem, though.