I've struggled with this one too. Xenu's Link Checker [home.snafu.de] will optionally build a site map in it's HTML report and I've used it as a starting point for a site map page. It's not an ideal or elegant solution, but it's free. Also, the Xenu site includes links to six commercial link checkers, most include a mapping feature.
We use Xenu a lot. Great program and as Dave says you can just copy the output to create the base of a good Site Map. With a few HTML tweaks it's finished.
Being a free program has its advantages apart from the price. The program code and "frilly bits" dont have to be included to make it look worth the price! The result.. a very lean, fast, program with valid results.