The reason it makes some sense to go to the cloud each time is because of the original smart pthings multiprotocol architecture.
They wanted to make sure that you could have a zigbee motion sensor trigger a Z wave siren and that the customer would not have to know that those are two different protocols.
There is no way for them to talk directly to each other.
The smartthings v1 hub is one plastic box, but it actually has three separate radios inside of it. One for Z wave, one for Zigbee and one for ethernet. The smartthings v2 hub added a radio for Bluetooth although that is currently inactive.
The original v one hub didn’t have the processing power to do anything much with the different signals. So The appropriate radio would realize it had received a message, and it would then send that message via ethernet to the cloud to actually figure out what it was for. And to be run through all of the connective logic that would allow a device of one protocol to trigger a device of a different protocol, But with all of the "only if "restrictions like mode, time of day, etc. Then the cloud would send the authorized messages back to the hub and say basically just “send this message to that device.”
The new v two hub has a more powerful local computer, so it could do more of the authorization logic itself, it just isn’t set up to do that right now.
If all you want is to have a Z wave motion sensor trigger a Z wave alarm, you can do that completely locally with Z wave association which doesn’t even go to the local hub first. The issue is what you want to start using conditionals to say which triggers you actually pay attention to.
For example, I have a motion sensor in the bedroom. In the evening, if it’s triggered it turns on the overhead light. This is when the mode is “night”. Then when I’m ready to go to bed, mode changes to “asleep.” Now the same motion sensor won’t change the overhead light, instead a night light on the wall will come on.
On top of that, the motion sensor is Zigbee and the switch controlling the nightlight is zwave, and the ceiling light is a Philips hue via a LAN connection to the Hue bridge. So three different protocols, two conditional states, two outcomes. All from the same devices.
That’s the logic that has to run somewhere. And because the smartthings V2 hub is inheriting the SmartThings V1 architecture, right now it runs in the cloud.