I live about 45 minutes from Roanoke. It's a small city, and somewhat run-down and depressing in my opinion, although there are a few nice areas.
The surrounding towns are hit-or-miss too. I highly recommend Floyd if you enjoy bluegrass or country music. Small-town feel, fantastic views,
Floyd Fest (mini Woodstock every year). Free live music every Friday night downtown. Minutes from some awesome hiking. The area is definitely booming, cost of living is still low and the people are outstanding.
Avoid Copper Hill, Check, Hillsville, Dugspur, Galax, Pilot. For the most part these areas are too isolated and there have been more than a few meth problems too.
Other nice areas within 45 minutes are Riner, most of Christiansburg and Blacksburg.