Nice small towns between Prague and Berlin are Görlitz, Bautzen, Freiberg, Meissen and Pirna. IMHO Görlitz is the best one, with 4.000 listed buildings maybe the best preserved German town. But it's a bit difficult to get there. I think you have to take the bus to Liberec, and from there the train via Zittau to Görlitz. Zittau is nice if you want to see some cute and unique villages btw.. Bautzen is a Baroque town surrounded by medieval fortifications and the centre of the Sorbs, a Slavic minority. But like Görlitz it's a bit difficult to get there. Freiberg and Meissen are a short train ride away from Dresden. Meissen is more picturesque, Freiberg bigger. Here is a gallery of the two towns. Pirna is the smallest and least interesting town, but the train from Prague to Berlin stops there, and Pirna is a good base to explore Saxon Switzerland.
There are no comparable towns on the Polish side, only Wroclaw, but this is a big city and quite a detour. Görlitz however is on the German-Polish border, so you can at least set your foot on Polish soil. But it's not much to see there apart from a reconstructed square and the Upper Lusatian hall of fame, which looks like Berlins Reichstag in small. Historically the Polish town was a suburb of Görlitz until the border was redrawn.
If you like nature consider Saxon Switzerland, which are one of Europes most picturesque mountains, or the Spreewald, where the river Spree meanders in hundreds of small waterways through meadows and forests. You can do guided tours on punted barges, rent a canoe or hike/bike.