Для начала, default не может отсутствовать, то, что вы его не написали, еще на значит, что его нет. Он есть всегда, хотите вы того или нет. А за возвраты из функции в непредвиденных местах можно, если еще шевелится, контрольный выстрел сделать - хуже не будет.

Нет, еще раз, в switch'e вы делаете предположение, что event.current таргет а) существует, б) не равен нулю. При том, что оба эти предположения могут не выполнится. Т.е. вы предлагаете 100% работающий вариант заменить 99% работающим вариантом, аргументируя это чем? Улучшением производительности? На микрон? А если компилятор окажется в силах (в будущем) заинлайнить код обработчика? Так вы только просадите производительность вашим свитчем, т.как его будет труднее разделить на части и заинлайнить в разные места по частям. Но это уже гости из будущего

С другой стороны, написав свитч, вы усложните себе последующую разработку и сопровождение - опять же, такие жертвы только ради того, чтобы выиграть миллисекунду на вызове 1000 обработчиков?