Ну я бы сказал, что if(a==true) пишут от непонимания и не умения программировать, а switch(true) пишут как раз таки от хорошего понимания того как оператор switch работает и приличного опыта разработки

Вариант switch(true) изрядно повышает читаемость кода из за отсутствия большого количества вложенных if else...