I tried substituting my own CSS file using the 'css' option to epydoc, but the generated HTML contains tons of hard-coded colors and other formatting that override CSS, e.g.
<body bgcolor="white" text="black" link="blue" vlink="#204080" alink="#204080">
<td align="right">
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
The generated HTML also uses for spacing in places instead of CSS margins/padding, and <br> instead of <p> or <div>, which also prevents CSS from changing the spacing.
As such, substituting your own CSS file can actually do very little to change the appearance of epydoc's generated HTML.
(The HTML also contains some strange misuses like having both href="javascript:" and onclick on a link, but that's just bad coding style; the formatting is actually preventing me from using an intended feature of epydoc.)