The zwave protocol specifically allows for “controller shift” which lets you add a new controller to the network as a secondary and then change its role to be the primary. It works fine, many Z wave controllers support this, including vera, homeseer, and wink. However, it’s an optional feature, and SmartThings, for whatever reason, does not support it. (I don’t think Zipato does, either.) In the past, typically this had to do with memory restrictions on the physical device.
Zigbee is more complicated. But it can be done.
In both these cases, you have to have administrator access to the original hub, which is considered sufficient for security purposes. It’s the original hub which says it wants to transfer command to the new hub, not the new hub that just grabs it. So this feature is only available if the original hub is still operational. If the original hub died all together, then you have to rebuild the network from scratch.
In the US, people are very aware of this issue because one of the major competitors to SmartThings, wink, provided a very simple migration process when they released their second generation hub. It was done through their phone app at the account level. Both Wink hubs were added to the same account and then the migration was done pretty much automatically. This seemed to work very well for most people and not at all for some people. But it did set a new competitive standard.
Interestingly, wink’s migration protocol does not work if you are going from their V1 to a new V1. There has to be a V2 in the mix. Since the V2 has twice as much memory as the V1, I’m guessing that it was a memory restriction, but I don’t know for sure.
In Europe, Vera has long had a very simple migration method from one zwave hub to another, but at the time those were Z wave only devices. I don’t know if that’s still possible with their multiprotocol hub. Note that the vera migration can’t transfer third-party plug-ins (the equivalent of SmartThings custom code), but it does use the standard Zwave features to move the devices over.
So basically both the Z wave and zigbee standards currently require physical manipulation of an individual device like a sensor the first time it is added to a hub. As you mentioned, this is considered a security feature as it demonstrates that you do have physical access to the device.
Once the device has been paired with the hub, though, The standards do allow for that hub to transfer its control of the device to a new hub which has been added to the same network. But the standards do not require that this feature be implemented by all hubs, and in the case of SmartThings, it is not available. Again, my guess would be memory constraints, but I don’t know for sure. That’s just the most common reason why this feature is not supported.
So SmartThings isn’t the only hub that doesn’t offer controller shift, but there are some that do. It’s not always a feature that can be enabled later, though, particularly if memory constraints are involved.