Give the sub-VI references to the controls and indicators. In the sub-VI you wire the reference inputs to property node(s) and write to the value property. You can obtain the references manually by right-clicking on the control/indicator and create the reference, or you can do it dynamically by using the controls property of the front panel, filter out the ones you need e.g. by name and then send the remaining array of refs to the sub-VI.
Using value properties is not ideal though (execute in the user interface thread etc). Another solution is to make a global (I always use functional globals instead) and make the main VI read the global(s) after the sub-VI has run and set the control and indicator values. The solutions above are only necessary if the defaults change and you will build an application of the VIs / want the value saved outside the VI. Otherwise you can just use an invoke node to reset all or individual control and indicators to default, and you can make new values default and save the VI with those...