Not .NET specific, but I use WKHtmlToPDF[1] - you feed it a html file via command line and it converts it to PDF using the Webkit engine. Works well for my uses and I actually prefer maintaining html templates.
Same here; I've written a cross-platform (PC and Mac) .NET application that generates reports as HTML in shared code, and both systems create printable output as PDF files created by WKHTMLTOPDF.