The way you've used "across" in the phrase "The river runs across the city from west to east" can definitely work, depending on what exactly you're trying to get across to readers. The word "across" usually suggests a crossing from one side to the other, covering a subject's (in this case a city's) full width. This gives us the image of the river stretching from one city boundary to another, say from the west edge to the east. If that's what you're picturing, then "across" fits perfectly.
On the other hand, if you're aiming to highlight the river's journey along the city's length more than its width, you might find "through" a better fit. "Through" paints a picture of the river weaving from the beginning to the end of the city, which often aligns more with how rivers flow within specific landscapes.