I have been there many times. I even spent a week out there on business, teaching a class at Beringer (unrelated to wine).
Here is what I suggest...
1) Rent a car. You will need it! A convertible is well worth the extra money!
2) You are going to fly (most likely) into San Francisco. I would arrange to spend 1 or 2 nights there. Napa is only 1 hour north, but San Fran has lots to see, do, and eat (the warf, Alcatraz, the square, trollys, etc). I find that 1 or 2 days is enough to see most of it.
3) Book yourself into the John Muir Inn in Napa. This is a reasonably priced B&B (more like a small hotel) and most rooms have a kitchen. Great for when you want to pack a picnic lunch or just plain tired of restaurants.
4) When winery hopping, I would first head down Silverado trail, all the way into Calistoga. This is where the honest wineries are not touristy / over the top. These are the type of wineries that you might find the owner filling up barrels in the back. Calistoga is also a nice little town, great to bum around in. This may take an entire day.
5) I would spend a day hopping wineries on rte 29. bigger name wineries are here and are pretty neat.
6) When/if you need a break from the wineries, I would head over to the old faithful geyser. They have picnic tables, so break out a bottle and also a picnic lunch and watch the geyser erupt.
7) Head over to Sonoma. Wineries are larger and more spread out here.
8) Have dinner on the wine train (if you are into that sort of thing). A bit touristy and a little expensive, but still nice.
9) HIKE THE JOHN MUIR WOODS!!!! you can not miss this! The trail is only 3 miles and the giant redwoods are amazing. I hiked it twice in one day and I am a lazy sob!
10) make the long trip out to Korbel in the Russian river valley. Korbel is rather nice, good tour, great gardens. After that, continue west out to the pacific coast highway to a spot called Jenner. REALLY NEAT sea scapes!
I have about a thousand other suggestions, but the above are the ones on my "Can not miss" list.
Hope you have fun!