if/elseif is not the same as a select statement. Each case of a select statement cascades into the next unless explicitly told not to - this behaviour scales very poorly using if's both in terms of code readability and efficiency.

Goto is the only reasonable alternative currently, but that has a number of serious limitations too.