I would go for DC, because they always have a fantastic fireworks display (which is what celebrating the 4th is all about!) and they will no doubt have more of the patriotic thing goin' on at the memorials and stuff.
I do agree that DC could be a better option-- you'll get to see some great shows and enjoy a very rich historical culture without so much of a touristy feel. If you're staying the night I'd definitely recommend staying somewhere a little out of the way. Fairfax County (http://www.fxva.com/) is less than 20 minutes away and has some great B&Bs, as well as some great museums so you can really get a feel for the area and have some fun too. Hope this helps!