Какой свитч, какие хаки?

Селектор не по целому числу, а по динамическому типу сообщения.

Концепция сообщений Windows, между прочим, сделала возможным независимое расширение как сообщений ОС, так и сообщений в конкретном приложении. Концепция "одно сообщение - один метод", конечно, сгодится для отдельно взятой среды разработки (хотя и там это доставляет гемор, как в Дельфе - при вводе Борландом каких-то методов в базовые VCL-классы приходилось перекомпилировать все модули под новую версию Дельфы), но не для ОС же!

А в строго типизированном языке с рефлексией не нужно никаких целочисленных идентификаторов, сам тип объекта говорит, что он за тип

Короче, господам из МС в отношении ООП-технологий надо было учить матчасть, вот и всё.