Yellow Springs is probably the most vibrant small town in Ohio, although architecturally it's not too exciting.
Other nice small cities in southwestern Ohio include
Miamisburgand
Troy. Both of these suburbs are mostly-intact and have reasonably vibrant downtowns with a lot of independent businesses.