Sometimes the program logic consists of hundreds of cases and putting it all into one function is a good solution, since you see the complexity.
I know that object-oriented best practice would suggest a lot of different classes and using dynamic dispatch for switching. That might even be faster. However, I dislike the fact that this scatters the logic across hundreds of files.
The best solution would be to simplify the logic, but this is also the most costly/time consuming variant.