You don't need Groovy; that's for writing your own apps, though that's certainly another option. Rule Machine is a built-in app (already written and installed for you). In Rule Machine, you need conditional actions. A common mistake is to look for "AND" in trigger events, but that won't work: trigger events are events, moments in time, and as such do not have truth values (e.g., a door opening). Conditions evaluate states--e.g., if a door is currently open--and can be used for this purpose, but it must be done in your actions (or as part of a predicate condition, new in Rule 5.0, that affects if/when a rule triggers, but that won't help you here, so we can ignore those).
So, what you want is something like this:
Trigger events: Switch 1, Switch 2, Switch 3 any *changes*
Actions to run:
IF (Switch 1, Switch 2, Switch 3 any on) THEN
On: Virtual Switch
ELSE
Off: Virtual Switch
END-IF
Since switches have only two possible states, on or off, and the logical opposite of "any on" is "all off," a simple ELSE
will suffice for the second case. This would be equivalent to ELSE-IF (Switch 1, Switch 2, Switch 3 all off)
if you felt like writing it that way for some reason (I wouldn't--more work for both you and the rule).
But I also might ask if you really want to manage this yourself. If not, the Groups and Scenes app sounds like it can do what you want. You can choose options in groups for how the group device represents the states of "members," so you should be able to make your "any on" vs. "all off" thing work there, too, and it's probably easier to set up: Groups and Scenes - Hubitat Documentation