If you don't have a car and want to get to Charles City from, say, Richmond... you have a problem. There is no public transportation, no bus stops along SR-5, no railway track - you are in the USA, not in Europe. I didn't see any tour buses full of visitors as well.
Taxis are too expensive, it's always better to rent a car, like I did a day before at Ronald Reagan Washington National Airport (DCA) in Arlington, Virginia (close to Washington DC). Why just there? Because they offered discount prices at Budget car rental that time which was very important for me, as it was main expense during my trip. Surely you can rent a car in any other airport including Richmond International Airport (RIC) - details here.
Keep in mind that the total price you pay for the car rental consists of numerous taxes, insurance fees, additional surcharges and is far higher than the price you find at first on advertisements. I recommend to buy full insurance coverage although it's very expensive, especially for non US-residents. It added additional 55% to my basic rental price. It hurts...
I had to show valid driving licence and a credit/debit card (to be identified) and I had to be 25 years of age or older to rent any car in the USA and surely I was.
Charles City is located in central-east Virginia, 37 miles east of Richmond, 25 miles west of Williamsburg and 140 miles south of Washington D.C.
My recommendation is to drive scenic Virginia Route 5 from Richmond to Charles City and futher east to Williamsburg.
How to get to the route?
From downtown Richmond:
Drive East Main Street eastward, you are on the Route 5, it's 30 mi = 48 km way to Charles City which takes ca 1 hour depends on traffic in Richmond;
From I-95 South (Washington D.C.):
Take exit 86 (left!), merge onto I-295 East, drive it 20.1 mi, take exit 22A to SR-5 (New Market Road), you are 20 mi to Charles City;
From I-95 North:
Take exit 46, merge onto I-295 North-East, drive I-295 9.1 mi, take exit 9 to SR-36 North (Oaklawn Blvd), drive it 2.0 mi, bear right onto SR-156 (Winston Churchill Drive), drive it 1.5 mi and turn right onto SR-10, drive it 3.2 mi and turn left (North) onto SR-156, drive it 4.00 mi (bridge over the James River) and turn right into SR-5 (John Tyler Memorial) - you are 9.3 mi from Charles City (or 3.8 mi from the Berkeley Plantation).
There are right many bridges over the James River in Richmond, but whenever you drive east of Richmond, only two bridges connect the northern and southern shores of the James River.
This one, seen on my picture, is put just west of Charles City and the Berkeley Plantation (SR-156). Keep in mind that the next bridge to the east, called James River Bridge is in Newport News (US-17) that is 60 miles or approx. 1.5 hour driving. This bridge was completed in 1982 and replaced the old bridge which was the longest bridge in the world over water when it opened in 1928 (hmm... it was only 5 mi long).
This sign on my picture was put by Indian Field Tavern restaurant, on the opposite side of the Scenic Route 5 (SR-5). It's a good orientation point.
The restaurant is located 0.6 mi east of the intersection (junction) SR-5 and SR-618 and 23 miles eat of Wiliamsburg (approx. 35 min.), on the right side of SR-5.
To get to great Indian Fields Tavern drive Scenic Route 5 till you see the sign on my picture on the northern side of the road.
From Richmond drive SR-5 exactly 17.1 miles off the exit 22 on I-295, watch for the restaurant sign on the left.
From the Berkeley Plantation first drive 1.0 mi to SR-5, turn right (north) and drive SR-5 3.9 mi, the restaurant on the left.
There is no other transportation than your legs in the Berkeley Plantation. Look at the map which was put in front of the plantation's main entrance. I could park a car on a parking lot just in front of the plantation but there were no parking sings there (and no cars parked), so I drove futher and parked at the end of the unpaved road.
Then we went to buy tickets in a gift store (1), joined guided tour of the mansion (2) and enjoyed mostly self-guided tour around the basement. Later on we took a walk along the plantation grounds and gardens up to the James River.
The Berkeley Plantation is located south of the scenic route 5 on the northern bank of the James River.
Driving SR-5 east from Richmond when you pass this sign on my picture start to drive carefully. You must turn right soon, that is 13.4 miles east of the SR-5 and I-295 junction (exit 22A and 22B on I-295 there). No worries, there is the direction sign there.
The road to Berkeley Plantation's entrance, or more exactly its approx. last mile is unpaved and was muddy at some places after rains a day before. At the end there was a one-way loop drive with no asphalt parking lot. As you can see on my picture I parked on a grass like other drivers did.
To get to the Berkeley Plantation from Richmond, drive SR-5 East, follow the direction sign and turn right just before this old-fashoned gas station on my picture to SR-640 South. It's 13.4 miles east of SR-5 and I-295 junction (exit 22A and 22B there). Warning: the price for gas was there over the average.
Then follow the direction signs, drive narrow asphalt road in a forest, continue East on SR-633, bear right (South) onto Harrison Landing Road (or... left = east to Westover Rd to rich Westover Plantation), the plantation is approx. 1 mi ahead. Difficult? No worries, the way is well signed.