Well you cross a river, a lake, a sea, so you go across it. German uses "über" but preposition cannot always be translated as the same in every situation. The German verb for "to cross" is (for example)"überqueren".
Because the action is transitive. You changing states, going across the Rhein. Dativ would describe the static location of an object - for example, a bird hovering above the river: "Der Vogel schwebt über dem Rhein"