I have to agree here with what @Ryan780 says. While it may feel clunky, IF-ELSEIF-ELSEIF ... is the way a switch() statement is actually implemented underneath the covers. So from an algorithmic functionality perspective, this is already implemented. RM is not a programming language. Adding higher levels of conditional functionality would have the pitfalls that Ryan describes, and would be a relatively large undertaking for no incremental functionality. Given that our development resource is limited, this can't possibly be the right place to invest effort.
Besides, there is already a super easy way to do this: Use a separate rule for each trigger, and dispense with all of the conditional code. You can easily clone rules, and then make the changes to each one. I just went through this myself: I have 5 bathroom fans in my house, each of which I want on a timer tied to occupancy of the room. I could have one rule with a giant IF-THEN superstructure to it, or 5 individual rules each with the relevant devices for that room. I didn't hesitate for an instant before choosing the latter approach. What I ended up with was a very simple rule, easy to create, modify, understand, etc. This is a better approach than combining functionality into a single rule with conditional actions.