Five years ago I spent 3 days on the Rhein (Boppard). I toured St. Goar (Rheinfels), Bacharach, Braubach (Marksburg), and Koblenz (Deutsches Eck). Except for the boat from St. Goar to Bacharach, I did it entirely by train, and it worked fine. There are rail lines, with frequent trains, up both sides of the river, and ferries across at several locations.
My total rail fare for the first three days was $26 (at the exchange rate then). For the last (fourth) day I wanted to rent a car. The only quote I could get for a one day rental, picking up a car in Koblenz, was about $100.
Something to think about, if you go from Bingen to Koblenz without getting off, the first KD boat leaves Bingen at 9:30 and gets to Koblenz at 13:10. The last boat back to Bingen leaves at 14:00, which only gives you 50 min in Koblenz, and gets back to Bingen at 20:00 (8 PM).