If you have a bit of extra time to spare and you’re not lugging a board bag or skis around, then you might as well take the Keisei line from Narita to Nippori. The Keisei Main Line Limited Express (the red line) takes 76 minutes and costs only 1000 yen. At Nippori Station you can transfer to the Yamanote line for the 21 minute, 190yen ride to Shinjuku, or the 11 minute, 150 yen ride to Tokyo. From Shinjuku you can catch the Keio Highway bus to Hakuba while Tokyo is the main transfer hub for the Nagano Shinkansen.
For any and all transportation questions, you can also call the super friendly folks at the JR English Info Line at: 050-2016-1603 . Drop the first zero if you are calling from overseas and don’t forget to add Japan’s country code, 81.