Secondo me il problema non è file_get_contents(), cURL o chi per loro.
Il fatto che a volte va bene e altre no, dovrebbe farti pensare che il problema sia il traffico sui server di youtube o altre cose che possano causarne un rallentamento, quindi niente che tu possa controllare.