Мне кажется, что главное преимущество переключателя состоит в том, что он сразу делает читателю очевидным, что все параметры зависят от одной и той же переменной. Вы, конечно, могли бы написать блок if / elseif / elseif, который выполнил бы то же самое, но тогда читателю пришлось бы тщательно проверять, действительно ли это одна и та же переменная, проверяемая каждый раз.
Существует также сценарий обслуживания кошмара, в котором у вас есть длинный if / elseif для одной и той же переменной, и кто-то решает изменить имя переменной, и поэтому он меняет все if, если только он не пропустил.
Как уже отмечали другие, есть также тот факт, что компилятор обычно может оптимизировать его лучше.