Hi..
1. I don't know if Microsoft native roaming can roam any part of the local profile.. I don't think so but I do not really know..
2. If the network is not perfect I've seen issues having the sandbox on a network share. One possible workaround can be to use
DisableTransactionRegistry=1 in package.ini. Please note this is not a general recommendation, just something that might solve your issue with one or a couple of your packages.
3. Yes, non-persistent desktops will always loose important registration information if UsrClass.* is not roamed.