The problem with CFS1 is that roads and rivers have no flattening effect and so have to be laid exactly at the correct elevation at each "point". this is very difficult to do because the mesh contains loads of different elevations. In fact the only way to do it is to create the road in very short sections that each just cover one elevation tile. Even here the road can only run from one corner of the tile to another (along one side or diagonally from corner to corner) if it is going to follow the ground (unless you are prepared for some very tricky trigonometry)