The simplest way I've found to route messages to random output ports is to use the switch
node that compares a JSONata expression against the 3 possible output values -- this post uses that technique to perform a "round-robin" effect...
Your case sounds a bit more complicated in that it seems like you will need to keep track of the previously sent messages. So if the last event turned on elements #2 and #1, and you wanted to leave only 1 of them on, then you would need to randomly turn off either #2 or #1 (since turning off #3 would effectively be a no-op, right?). Or you could design the flow to always turn every element "off" just before sending a message to randomly enable 1, 2 or 3 elements -- although I would imagine that the extra cycling would not be good for extending the element lifespan either.