UIWebView просто медленно загружается по сравнению с чем-либо еще, даже при использовании простого статического HTML. UILabel всегда намного быстрее.
Я думаю, это связано с тем, что некоторые аспекты движка HTML, которые вам могут не понадобиться (например, интерпретатор Javascript), загружаются некоторое время. Но даже если вы сохраняете уже созданный экземпляр UIWebView, загрузка нового контента все равно заметно замедляется.
Одной из возможностей может быть сохранение UIWebView в фоновом режиме и получение от него изображения для отображения - тогда вы избежите задержки отображения. Это может привести к поломке и вставке, и, возможно, не сработает, в зависимости от того, как UIWebView, не отображаемый на дисплее, выглядит как рендеринг.
Статический HTML с загрузками JSON, вероятно, примерно так же быстро, как вы собираетесь получить. На 3Gs это может даже не сильно заметить задержку.