I don't think I make a meaningful distinction between street and road in my dialect of English. What distinction is being made between those Czech words?
I had the same question. My husband, who is a native speaker of Russian, surmised that "silnice" (road) refers to the paved portion of a street, while "ulice" references the whole environment of a street, i.e., the paved part along with the buildings, houses, etc. We asked a native Czech speaker about it, and she supported this interpretation. But maybe she was just being nice... :-)
"Ulice" is located in a built-up environment.
"Silnice" is a 'paved road.' It mostly refers to roads between cities/villages etc.
'Paved portion of a street' is either "vozovka" ('road(way)/carriageway') or "chodník" ('pavement/sidewalk').
"Dálnice" is a shortening of dálková silnice ('long-distance road') and it is a word used for grade-separated, dual carriageway roads = controlled-access highways = motorways (UK) = freeways (US). They are for the most part tolled.