Если важно использовать объектную модель, класс SPSiteDataQuery может соответствовать всем требованиям. Это позволяет вам запрашивать интересующие вас элементы в семействе сайтов. Подобный запрос будет быстрее и надежнее, чем перебирать списки и библиотеки вручную с помощью объектной модели. На MSDN .
есть несколько хороших примеров.