Readability and debugability (is that even a word?) are rather subjective but some people (including me) find the switch statement to be more clear. However, in many cases a compiler has a better chance of generating faster code using a switch compared to the if/else construct. But the performance gains might be moot if you're using them for a menu system, as menus aren't exactly performance-critical pieces of a program.