I would start by searching for them on Google. There is not one best solution for everyone. It depends on how much data you want to include in the sitemap, how many URLs and what programs and/or coding you are comfortable using.
xml-sitemaps will create an xml site map online, ut is restriced to 500 pages. They have a unrestricted one to download, but it isn't free. GSiteCrawler is and has various nice extras, of course you still need to go into it and take out those pages you don't want indexed as well as tweaking stuff like the priority tag.