Which software to use to create professional fly-over/ fly-through animations?
Not sure if standard GIS packages are going to give you what you need. You might have to get into 3D animation/visualization packages such as Vue (paid, but not too $$, maybe around $1,000 US) or Blender (open source with HUGE community). I'd love to know what the NPS used to create the flyover you referenced.
I'm currently struggling with getting real world elevation data into Vue, it will only take USGS DEM format. Blender can take a greyscale image and render elevation from it. Here are a couple of screenshots I made of elevation data in Blender, although I haven't played with it much. Here is a very short flyover that someone else did in Blender.
Problem with a lot of these 3D animation/visualization packages, we have discovered, is that they are intended for use in creating fantasy worlds (Vue was used to create a lot of Avatar, for example), not real worlds, so support for real world data just isn't there yet - and we are now having to bridge the two, and it's tough.
As far as workflows, that's what I'm ironing out right now. Good thing is both Blender and Vue can be scripted with Python, so you can automate most everything. I am translating my elevation data to DEM with gdal_translate, then importing it into Vue.
I have created a couple of ArcGlobe videos in the past (~4yrs ago) that look to have about the same video quality as the NPS video you referenced. The key that I was told (and found to be true) was to:
use keyframes to allow the software to create the appropriate transition between locations,
capture the video at 4x - 8x times SLOWER than you want to present the video at so you can capture the higher resolution data you want to present, and
edit the video exported from ArcGlobe in a video editing software and SPEED UP the new video to the final frame rate you want to present.
This will retain the quality and visual speed that you want them to see in you video. For example, one 5 minute video (final cut) that I created took almost 30 minutes to record (in ArcGlobe) in order for me to get the quality I was after. Then I just sped up the whole thing to make it fit my 5 minute limit.
Natural Scene Designer is an excellent tool for fly throughs. It's affordable too. However, I'm not certain about flying underground. Although, if you have sketup pro you should be able to create something.
This methodology used to work with the free version of sketchup, but doesn't anymore, it should work with the pro version. To get your terrain data into your sketchup project I would use a DXF 3D face file, but change the grid size to something larger so that it is manageable (I used 250x250 meters). You can drape aerial imagery using one of these methods here or here. Then you should be able to add your geology using similar techniques.
Hope that gets you started.