Простой плагин для плавной прокрутки:
https://idiotwu.github.io/smooth-scrollbar/
Вроде бы нигде и ничего не ломает. Но тестировал я только в Chrome 50+, Safari 10+ и Firefox 60 и не на body, а в отдельных контейнерах.
* * * * *
А вообще, сейчас плавную прокрутку делают в крупных проектах на GSAP. Вот пример:
* * * * *
Если не нужно плавного скролла, а нужно стилизовать наивный, то вот этот вообще не ломает нативный скроллинг:
https://kingsora.github.io/OverlayScrollbars/#!overview
Вот его демо на странице с iframe:
https://kingsora.github.io/OverlayScrollbars/#!dem...Про iframe пару словЧтобы стилизовать содержимое iframe, как в примере, нужно, чтобы iframe был с одного и того же домена, что и сам сайт. Это же касается вообще любых манипуляций с ресурсами внутри iframe. Там на странице просто пример, что плагин отлично работает и внутри такого iframe. Вам же я просто показываю, что смена фокуса скролла не ломает ничего, если использовать этот плагин.
Я его тестировал за время использования в IE11, Chrome 40+, Firefox 40+, Safari 10+. Всё более чем хорошо. Вышеперечисленные же плагины меняют алгоритм работы нативного скроллинга. Точнее, тупо его его отключают. Этот же ничего не ломает.
* * * * *
P. S. Ну а вообще, скроллинг лучше вообще не трогать нативный, если это просто ради красоты.