W 99,99% przypadku, nie powinno cię to obchodzić.
Tego rdzaju mikrooptymalizacje raczej nie wpłyną na wydajność Twojego kodu, mogą znacznie poprawić czytelność, ale nie zawsze tworzenie wielkiego bloku switch będzie takim rozwiązaniem, na pewno w sytuacji korzystania z np. wzorca strategii, mogłoby to być lepsze.
W przypadku zaledwie kilku operacji różnica jest niewielka, praktycznie niezauważalna. Jeśli masz dużo operacji/warunków, zdecydowanie powinieneś użyć switcha.
Np. SWITCH jeśli zawiera więcej niż pięć elementów, generalnie jest zaimplementowany przy użyciu tabeli przeglądowej lub listy skrótów. Oznacza to, że wszystkie elementy mają taki sam czas dostępu w porównaniu do listy wykorzystywanej przez IF/ELSE, gdzie dotarcie do ostatniego elementu zajmuje znacznie więcej czasu, ponieważ musi najpierw ocenić każdy poprzedni warunek.
Więc przy niewielkiej ilości operacji totalnie jest to bez znaczenia, też z punktu widzenia ilości warunków, myśle że tworzenie IF/ELSA dla 5> więcej przypadków jest po prostu NIECZYTELNE i kod staje się bardziej dirty.
Ogólnie mówiąc, zawsze kiedy mogę powinienem używać switch case?
Nie bo jeśli faktycznie twój warunek uwzględnia 2 podejścia jeśli/w innym przypadku to dużo czytelniej będzie wykorzystać IF/ELSE lub operator trójargumentowy jeśli twój język taki wspiera
https://www.algorytm.edu.pl/wstp-do-c/trojargumentowy-operator.html