I think you can just use SiteCollection directly. It is iterable. The only difference, afaik, is that when you loop over a SiteCollection you don't get the original Site objects but a clone of them with depth set to 0.