Here is the original elevation mesh, from 10m DEM which has been resampled at 3m, to provide more resolution for smoother terrain modification:

If one naively draped roads as geometry, even with an offset above the ground, then there are problems with the ground and roads intersecting each other, both geometry and z-buffer issues:

One approach, implemented in VTBuilder, is to "carve" the roadways into the elevation grid. There are many ways to do this, but a simple approach is to push the grid vertices up or down to lie at the expected height of the road:

Then when the roads are draped at runtime, they will have less intersection issues, and can be draped more closely with less space between them and the terrain:

There are a lot of areas for improvement.
intersections should be handled
more control over the road edge envelope
more intelligent deformation that considers the actual mesh surface instead of just the heixels
better estimation of the road's true elevation instead of the current assumption which uses terrain height at each road datapoint
etc.