А как вы измеряли скорость ответа?
Если вы не написали бенчмарк, который на сотне тысяч итераций доказывает что один метод быстрее другого, то разница во времени ответа может быть случайностью.
Важен ещё способ получения времени ответа, ведь можно измерять как время обработки запроса сервером, так и полное время отправки и получения ответа.
Вообще чисто теоретически разница в скорости может происходить из того факта, что методом POST данные отправляются в другом виде, соответственно может быть затрачено разное время на формирование запроса, на отправку большего объёма данных и на чтение данных на сервере.
Ну например, данные закодированные в multipart/form-data однозначно по размеру больше чем в query string.
Но даже если допустить, что POST реально медленнее, то это не повод отказываться от него в пользу GET.
Это какая-то преждевременная оптимизация получается. Какая там разница? 10 миллисекунд какие-нибудь? Для вас это настолько критично? Никто и не заметит. Вот когда упрётесь в скорость ответа, и когда эта небольшая разница будет решающей, тогда можно будет задуматься.
Про важные данные - опасность есть ровно одна - те данные, которые указаны в query string вашего запроса, они попадут в историю браузера, в логи разных серверов, которые передают данные.
Например вы отправляете форму входа методом GET.
Ну и что что у пользователя в адресной строке мелькнёт его пароль - он же сам его и ввёл. А вот на сервере в логах apache или nginx появится строчка типа /login?user=vasya&pass=12345
Само по себе это не очень страшно - ну логи, чё мне с них, у меня вся БД с пользователями под рукой.
Но если кто-то найдёт уязвимость на вашем сайте и как-то прочитает логи, то будет плохо.