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">
<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.