Я бы сказал, что одно изображение более производительно и не может стоить много памяти.
Если кнопка должна выглядеть как настоящая кнопка, что, как я полагаю, связано с тем, что вы говорите о градиентах, тенях и обо всех работах, тогда может быть целесообразно установить изображения кнопок для нормального и выделенного состояний.
В этом случае UIButton сделает всю работу за вас.
(Если вы считаете, что я пропустил суть этого вопроса, пожалуйста, перефразируйте ваш вопрос.)