У тебя все грузится с Ajax - поэтому и долго.
Я нашел "решение" , не знаю на сколько правильное, но у меня была такая-же проблема. Вот примерный алгоритм решения:
1. загружаем данные всех комбинаций при загрузке страницы, присваиваем display:none
2. Для комбинаций делаем блок дизайна в .tpl файле, но каждой из комбинаций присваиваем уникальный id (Например: id="{$product.id}_{$product.id_attribute}") и задаем класс для всех цен, например класс css price_modification
Пункт 2 делаем с помощью цикла foreach {} естественно
3.Делаем js функцию, типа
function changeAttributePrice(id,id_attr){
var pricesToHide = document.getElementsByClassName("price_modification");
for(var i = 0; i < pricesToHide.length; i++){
pricesToHide[i].style.display = "none";
}
document.getElementById(id+id_attr).style.display = "block"; //оставляем тот, который нужен
}
4. В твоем списке комбинаций назначаем onclick функцию
(onclick="changeAttributePrice({$product.id}, {$product.id_attribute})")
для каждого droplist эл-та
В принципе вот и все, у тебя будет моментально меняться цена при нажатии
P.S нужно учитывать тот факт, что нужно будет с такой-же схемой переписать кнопку "Добавить в корзину" чтобы правильная комбинация добавлялась.