У меня нет точного ответа, но я предполагаю, что при использовании UIImage вы увидите более медленное время загрузки, чем при использовании CGImage. С CGImage вы указываете тип изображения (jpg или png) во время создания, но с UIImage, тип объекта должен определяться динамически. По общему признанию, это, вероятно, так же просто, как просмотреть первые несколько байтов файла изображения, но это может быть не так.
Когда изображение действительно используется, я бы не подумал, что будет вообще какая-то разница между использованием CGImage, который внутренне представляет UIImage, и использованием CGImage, который вы создали сами. Я думаю, они будут в точности эквивалентны.