There is no 'best' way but there are a few that work well.
My own preference is for a PHP or ASP script which can be set to print various elements of the page.
Try click here for a pretty good example. It has a lot of options to allow you to set what you like for the printable output. Of course it will only work if you have PHP support offered by your web host.