We've found that periodic invocations of pg_repack are necessary to keep things from bloating beyond the inflection point where vacuuming just can't keep up. I'd love to see VACUUM somehow able to take care of that, because the WAL volume of repacking multi-terabyte databases — even when you're just targeting the worst culprit tables — is absurd (especially when you're keeping all your WALs around forever, for PITR purposes). I'm just not sure what more it can do.