The beaches up north are free to drive on. Carova's roads are actually deep sand and there is no paving or gravel on them. There are a few trails/ roads on the Sound side of the town that are deep water. Nag's Head to Corolla (where you actually drive on the beach to get to Carova) is approximately an hour, expect longer in the summertime.
South of Nag's Head is Oregon Inlet. You can drive on the beach there across from the marina prior to Pea Island. There are no trails here. You drive from Rt12 to the ocean and then parallel to it. Nag's Head to Oregon Inlet is approximately 20 minutes (traffic notwithstanding).
Further south of Pea Island is Cape Hatteras National Seashore. This area requires a fee and permit to drive on the beach. It costs $50 for the week and requires you to fill out paperwork and watch a short 7 minute video about driving on the beach. The Sheriff's Department and the Ranger's Office actively patrol the beach. Again, there are no trails but simple access to both the Soundside and Oceanside beaches. You'll find people who drive offroad on the Soundside do it to unload windsurfing/ kitesurfing gear and park there. On the Oceanside, folks are actively surfishing or setting up for a day there. Many if not most of the Ramps for Oceanside beach access are closed due to nesting turtles or birds. The CaHa National Park jurisdiction begins in Rodanthe and continues to Ocracoke Island. The permit office is located at the Cape Hatteras Lighthouse but the permit is good for driving on any of those beaches in the towns previously mentioned. Driving time from Nag's Head to Hatteras took us 1 hour, 30 minutes last week in fairly heavy traffic.
If you plan on driving to the southern beaches, please check to see what ramps are open. They close, (and rarely) open on a daily basis. Here is a link to the National Park:
Hope this helps. Any other questions, please ask.