1) Я использую Guzzle, там внутри тот же курл, но в удобной обертке.
2) Я вначале сохраняю ссылки в файл, потом по ним прохожу, если страниц немного и они не тяжелые - не сохраняю.
3) Регулярки использую только в случаях, когда простыми методами библиотек данные не могу достать, например на сайтах с табличной версткой без классов и идентификаторов, использую библиотеку phpquery, она побыстрее указанной вами.