Аналогия switch
Скорее всего или одинаково, или свитч эффективнее.
Производительность свитча от размера не зависит, поскольку всё равно там таблица переходов.
Если цель поднять производительность, я бы посоветовал начать с профилирования и поиска реально тормозящих мест; замена свитча на массив функций в этом отношении ничего не даст.
1) о какой эффективности вопрос: быстродействие, размер кода, понятность кода?
2) предложенный код однозначно дополнить проверкой допустимого диапазона i.