Create Geologic Cross Sections–eXacto Section v. 2.0, ArcMap 9.3
The Create Geologic Cross Sections–eXacto Section v. 2.0, ArcMap 9.3 written by Jennifer Carrell of the Illinois State Geological Survey is a handy tool for creating cross sections.
It requires ArcGIS and a 3D Analyst Extension license.
You can create profiles against multiple DEMs at once, define the vertical exaggeration, and have it include contact points. It is well documented and comes with sample data to use with the tutorial.