I couldn't decide b/w staying in Charlotte or moving to Richmond. I settled in Raleigh. It's about the same distance to either city. (I can work in any of the three cities in the same pay and position, which would have been a huge deciding factor.)
As a single, professional who lived in Charlotte for 10 years, visits Richmond on a routine basis, and lives in Raleigh, I think that you can't go wrong with any of these locations. Charlotte is the hippest of the three. It has professional sports teams, a happening downtown area, and lots of frills. Bankers and suits rule! I often compare it to a teenager. It hasn't found it's true identity yet, but it's striving to make everyone happy with the sports teams, transit system, etc. I truly enjoyed my time there.
If Charlotte is a teenager, then Richmond is the distinguished aunt. Richmond has more character since the new construction is mixed with the older buildings; think Shockhoe Slip/Bottom. To me, the housing is more expensive in Richmond than in Charlotte and Raleigh for equivalent areas. Ninety-five percent of my friends there are natives, which isn't the case in Raleigh or Charlotte. Most people I know work for the state or VCU.
And, finally, Raleigh (and it's surrounding areas) are the hippy sister. The area boasts a terrific system of greenways. The meetup.com site is brimming with tons of people seeking to connect with others for similar activities, like wine tasting, hiking, and movie going. IT definitely rules here, as the majority of people I meet work in some branch of the IT field. Plus, the location to the beach is incredible.
Like I said earlier, you really can't go wrong with any of the three.