These links are useful:
You can get a quick idea about each city.
I'd pick Luzern, even though it will be full of tourists.
Have you used the timetable?
Bern is 1 1/2 hours by train from Luzern.
It is a bit longer to get to Geneva -
Luzer to Geneva - 3 hours +/-
Bern-Geneva - a bit under 2 hours
Luzern has a quit nice old town, but so does Bern. In Bern, I always walk from the station through the arcaded streets of the old town, down to the Nydegg Brücke (Bridge) and cross the bridge, then walk up the short road to the rosegarden. As you coulsd see it has nice views of Bern and, of course, a restauarnt. The flowersv are quite nice, too.
What distinguishes Luzern is the lake, with nearby mountains.
Here are a couple of links that can give you some ideas about the lake.
One is about a hike, but the point for you is the images:
This one is about a neat place to go up to for lunch- Hammetschwand.
This thread has a few pictures and a map.
This thread has more pictures:
Unfortunately, the best way to get to it involves the temporarily closed funicular from the boat landing at Kehrsiten. It would or will take you up to the resort area, and then you walk a couple of hundred meters to the start of the Felsenweg, leading to the Hammetschwand lift.
It may be open by July.
If so then this is a great short excursion:
After you walk the Felsenweg and take the Hammetschwand lift, there is a nice restaurant/ sausage stand on top with spectacular views.
If the Funicular is not running, you can get close to the start of the Felsenwg by bus.
The tourist info office by track #1 in Luzern Hauptbahnhof is really good. They can help out. When I wanted to go up there with my grandson, they picked up the phone, checked the exact status of the then on-going construction, gave me clear directions and options.