Yes, you've got the right idea. One minor tweak is that you don't need to use the To Variant function, you can wire any data type to the 'Set Control Values By Index' function, and it will be coerced.
The real question is whether you have a need for this. I have a few specific use cases (such as code which updates many controls by label, and today does it by defer->set values->undefer, where this would be a very practical replacement), but it's probably something you would use relatively rarely.