>>656
if(○○ == WM_xxx)
○○ ==の部分を毎回書かなければいけない事くらいしか思い当たりません。
その代わりbreak(もしくはreturn)がいらないので記述ミスが減るかなぁと。

と書いているうちに一つ思い浮かんだのが、breakを挟まないことで
case WM_CREATE:
〜処理1〜
case WM_PAINT:
〜処理2〜
break

WM_CREATEがきたときは処理1,処理2をどちらも行うという事が出来ますね。
これがswitchを使う理由ですか?