I tend to take the easy way out and your PS, an if or cond depending on the selection and the command - sometimes simple is quicker to program and can be as quick or a bit quicker in its execution (though for most speed gains or losses it is never enough to grab a drink).
I'd be interested too to see what everyone else does.
(As a side comment, I tend to submit 'simple' on the forum here, easier to follow and understand but there are usually more complex ways.... which is what you are asking)