We would like to stay a few nights on the Rhein River with plans to take a Rhein River cruise one day between Bingen and Koblenz and see the Eltz Castle another day. Where would you recommend staying? We thought about Koblenz but would consider other towns along the Rhein.
Suggest you stay in Boppard if you'd like a smaller town - it's the largest of the villages, but still pretty small, and it's close to Koblenz, which will make a train journey to Burg Eltz a little shorter than if you stayed in other villages. On the day of your cruise, take the train south to Bingen and cruise north back to Boppard. You don't need to cruise from Boppard into Koblenz as the scenery deteriorates through this stretch - the best scenery is south of Boppard. Boppard offers lots of accommodations and dining choices, and outings to St. Goar, Oberwesel, and Bacharach, all south of Boppard, are easy to do by direct train. Koblenz has a nice but very small old town area that lies a long way from the main train station; the rest of Koblenz is quite modern and pretty boring, IMO, as German cities go. I wouldn't base myself there except in winter when the villages are as quiet as coffins. Be sure to take advantage of the area's daypasses - the Rheinland-Pfalz ticket and the VRM mini-group ticket. The mini-group ticket at 18€ total for two will definitely save you some money on the trip to Burg Eltz. (I'd visit nearby Cochem on that same day as well; the regular round trip fare for two from Boppard to Cochem or Moselkern is 44€.)
I would just second Russ's recommendation. We stayed two days each in St. Goar and Bacharach. We enjoyed them both very much. We day visited Boppard and had lunch there. It is a bit larger that either and had some hotels with river front views. More restaurant choices in Boppard than St. Goar or Bacharach. Boppard is closer to Burg Eltz but all are easy reach from each other. Boppard is still small enough that centrally located hotels are close to the train station.