There's a few different ways.
But it's also a big challenge at scale, even for larger companies like War Gaming who rely heavily on map work.
Dax did have a long live stream once upon a 2 years ago, where he covered some early ideas for doing this.
Andy (Cowsmanaut)
Did a brilliant investigation on some river work, that might be useful too.
You could take both ideas and import a road network mask you've created and see if that works for your specific needs.
Hope that helps