When you say picking up roads as streams, I'm assuming your source DEM is detailed enough to treat the road bead as a shallow stream channel (curb and gutter). This is pretty common in hydro network extraction. What you need to do is "burn" each road crossing over a stream such that the elevation drop across the road carries your flow direction downstream, and not making a hard turn onto your road.