For paved roads I used to use fine sand glued down then used ink or diluted paint to color it, it worked pretty well.
In a city area you have to ask yourself what kind of road surface, paving, belgian block, concrete? In a city area the biggest thing is to have roads with curbs. One of the more fun things I recall doing was having a city street where I simulated the 'asphault' had worn away and you saw the belgian block underneath, quite common in some sections of NYC.
For belgian block I did it the hard way, I poured plaster and then I carved it (belgian block is not uniform, which actually made it easier,but still was a chore). I colored it using a wash of thinly diluted gray ink and then I used black ink in an old fashioned fountain pen to put in black between the 'stones'.
Concrete I used styrene sheet sprayed with concrete colored paint, and I carved expansion joints in it that I used a darker color to make them visible.
I am showing my age, I remember an article in MRR when I was a teenager when someone advocated using furnace cement. Ended up being somewhat controversial because all these people later wrote in saying that it could corrode rails if used in a grade crossing.