Работа с DOM само по себе дорогостоящее занятие. Любые повторяющиеся события внутри DOM могут приводить к проблеме с производительностью.
В чём смысл каждый раз устанавливать стили для .ucity при условии, что scrollTop не добрался до нужного значения? Эти стили можно задать изначально в CSS. Уже одним изменением меньше. Всё остальное уберите в отдельные классы. Проверяйте, есть ли такой класс при scrollTop() < ucity_prop.pos.top и если что — удаляйте класс
Кстати можно ещё дополнительно посмотреть в сторону
https://developer.mozilla.org/ru/docs/Web/CSS/will...