Setting up available themes for sub sites

So we want to require usage of one single parent theme for all the sub sites (because we will be making a basic framework with common layout and functionality), then let sub sites choose which child theme they want to use and only from a set of child themes we have built and make available (Don't want them going to the WP Theme area searching for something - it won't be compatible with our required parent theme).

On occasion we will have some sites which we will be building custom child themes and those should only be available to that one specific sub site.

Is this possible to setup? If so, how?