Creating new network sites using "New Blog Template" via function, hooks or actions?

I have a main network website, that users sign up to.

From within their profile they can create sites on the network, I’m presently using just the standard wpmu_create_blog function, but I want to be able to choose a desired blog template.

How do I go about this? I would prefer not to have to implement a solution such as gravity forms, and I want to keep users completely out of wp-admin on my main network site.

Users currently only have the role of Customer (via registration through WooCommerce) on the network root site, but this can be changed if it needs to be.

Thanks to everyone in advance.