It can indeed be done via the region generator.
First add the texture that you want the most, this will be the 'base texture' and will cover 100% of the ground. Set the density to 100, clustering 0, min slope 0, max slope is up to you (I did 50), min and max height up to you (Fit your world, if you don't want grass on top of mountain peak, etc. This is easier to hand edit later)
Then add other textures as children to this parent object. Mess with the density and clustering until you get results that you're happy with. The higher the density the more the texture will cover the ground. I.e. 20 means about 20% of the ground will be that texture, etc. Clustering affects how grouped the texture is. 100 means it would be in giant solid patches. 5 would mean it's super flaky and spread out.
I used this to texture Falskaar with wonderful results. Test in a small 3x3 or 5x5 cell area until you're pleased, then unleash it on the desired area in your worldspace. 