Для представления строки из N 8-битных символов нужно (N * 8 / 6) = (N / 3 * 4) 6-битных символов (base 64).
(l + 2) / 3 это деление на 3 с округлением вверх, поскольку количество символов должно быть целым.
+ 1 — это для нуля в конце строки.
Скорее всего или одинаково, или свитч эффективнее.
Производительность свитча от размера не зависит, поскольку всё равно там таблица переходов.
Если цель поднять производительность, я бы посоветовал начать с профилирования и поиска реально тормозящих мест; замена свитча на массив функций в этом отношении ничего не даст.