<p>What is the best way to convert between HTML, XML, and XSL-FO in C#?</p>

<p>I already have the HTML (piped in from FCKEditor) and I'd like to print a PDF (I have an XSL->PDF converter). I just can't seem to find a library that will convert from HTML into anything XSL friendly.</p>

I'd first try
XSLT
.  When you're talking about formatting XML documents (and that's pretty much what you're talking about), that's the tool designed to do it.
From
Wiki
:
"The general idea behind XSL-FO's use
  is that the user writes a document,
  not in FO, but in an XML language.
  XHTML, DocBook, and TEI are all
  possibilities, but it could be any XML
  language. Then, the user obtains an
  XSLT transform, either by writing one
  themselves or by finding one for the
  document type in question. This XSLT
  transform converts the XML into
  XSL-FO."
You need an XSLT transform for HTML to XSL-FO.  Not sure where to get one, but apparently the concept isn't alien.