The five images below were all created with a single procedural material that I created in Substance Designer. The material, which I call "Terrain Generator" allows me to quickly generate new terrain materials with a few clicks. I created these 5 materials in around 2 minutes to show as examples.
Here are the maps that are exported for use in a game engine, such as Unity. I have it creating the ambient occlusion, base color, height, metallic, normal and roughness maps. I currently am making a game in Unity using the terrain generator, so I have customized the outputs to match exactly what I need. This saves time and confusion.
Here is a brief look at the top level of the Terrain Generator material I have created. There are separate parent nodes for things like snow, lava and grass. The rock generation is first, it then feeds into the other optional nodes and works it's way to the end.
A more in-depth look at just one part of the material, the rock generator.