Part 1: How to get there cheaply.
New York City is about an 8 hour drive from the Southern part of Virginia - 8 hours from Roanoke, 7 hours from Lynchburg, 6 hours from Charlottesville, 6 hours from Richmond, and only 4 hours from DC; this all depends on traffic, of course. It may seem like a long trip, and can get complicated if you don't just hop on a plane, but it's not too bad after all. (Unless your bus is in an accident.) Of course, even after getting off a plane, you have to sit in at least an hour of traffic to get to the city.
You have four options: You can 1) drive there, 2) take a train, 3) take a bus, or 4) do a combination of the 3 previously mentioned options.
Option 1) To drive there, you need to somehow get to the DC area. Try to plan you trip according to the day's hours, avoiding having to drive anywhere near the DC Metro area anytime between 4:00pm and 6:00pm. If you get stuck in DC traffic, expect to add anywhere between 2 and 4 hours to your trip. No joke. After getting around DC the best way you know how (usually by using 495,) continue on 95 North towards Baltimore. The Baltimore Tunnel toll is $2. This will be the cheapest toll along your way; you will spend a total of about $25.00 in tolls before you make it to Manhattan. Since I'm not going to type out the turn-by-turn directions to get into the city, hop over to Google Maps and see for yourself how to get there.
I will note that parking in the city can be a headache in itself. Street parking can be difficult to find and street-sweeping schedules may cause you to have to move or be ticketed. Off-street garage parking can cost up to $60 a day.
Option 2) Taking the train can be an easier way to travel to NYC, but can be more costly (although, it is still cheaper than flying.) There are actually two options for taking a train, as well. The first, if you live in Southern, Central, or Southwest Virginia, is to hop on the new Amtrak like that comes into Lynchburg. Although only two trains leave in the morning, and only two arrive in the evening, this can be incredibly convenient (and get your day started early.) The first train leaves somewhere around 6:00am, and the second leaves around 7:30am. Fares vary, but can run anywhere from $40 to $120 one way. Check out your different choices, too; see if it would be cheaper to get a ticket from Lynchburg straight to NYC, or if it would be cheaper to get one to DC, then change trains for the second part of your trip. I've seen it better both ways, depending on the day. And, unlike at an airport, if you have a large gap between trains, you can always venture out of Union Station and see some of DC. The second option is to drive to DC, then board a train (which will require similar parking strategies like I talk about in option 3.)
Option 3) Taking a bus can be your cheapest option. The only problem with the bus option is, unless you take a Greyhound, you have to figure out how to get to DC first. (I have never taken Greyhound, so I can't help you there.) Taking the bus is the option I have used the most when traveling to NYC (even when I moved up there for the summer) and it's all because of this wonderful bus company called Megabus. When I first starting researching ways to travel to NY myself, I heard about this wonderful thing called Chinatown buses. After researching many different Chinatown bus companies (such as Chinatown-Bus, Apex, Bolt, or the GoToBus,) and their safety ratings, I found a comment stating that "Megabus is the safest bus I've ever taken, and the cheapest too!" And they cannot be beat- their fares start at just $1.50. Read that again. One dollar and fifty cents. Flat. I couldn't believe it. But after I had purchased a round-trip ticket for $7, I was sold. Fares do start at $1.50, but the more filled the bus becomes, or the closer you get to your travel date, the higher the price goes. My cheapest trip was $7 round-trip, but even my most expensive trip was only about $39 total- $22 one way, and $17 back. You really can't beat that; no train, plane, or car full of gas could be cheaper.
The way I travel by bus (Megabus) is to pick an afternoon bus (or somewhere between 11:00am and 2:00pm,) and then give myself an extra hour to two hours of travel time. Lets say I buy a 12:00 noon ticket. Since I'm driving from Roanoke, which takes 4 hours to DC, I'll leave at 6:00am. I stop and fill up my gas tank, grab a coffee, and head up 81. I should get to the DC area by approximately 10:00 or 10:30am, given there were no major traffic jams or construction along the way (that extra time can save you!) Since I need to park my car overnight and there is no overnight parking in the city (or at least anything affordable), I have leave my car at at Metro station with overnight parking. There are very few stations that allow overnight parking now. (Copied and pasted from the DC Metro website): "Multi-day parking is available at three stations: Greenbelt, Huntington, and Franconia-Springfield. Each of these stations has between 15 and 17 spaces allocated for multi-day use of up to 10 days." Visit the DC Metro website for the locations and addresses of those stations, and plug them into your GPS.
This is where you'll use your extra time: the metro and walking. The DC Metro is pretty easy to navigate; each line is color coded. Typically, these stations with overnight parking will be at the end of the line, which means there is only one way to go (to the city.)
UPDATE: Megabus is expanding their service to Charlottesville, Christiansburg, Richmond, Hampton, Raleigh, and Charlotte! These buses may not get you to NYC, but will get you to DC (from which you can take another bus/train/etc!)
Option 4) Using a combination of the three previous options, you're bound to find the easiest way to get to NYC. You can drive and catch the bus like I do, or take the train then the bus. Whichever way works best for you physically and price-wise, do it.
Now that you know how to get there, click to visit 2) how to navigate through the city.