Friction can contribute to servo heat. If the mechanism can't easily and smoothly move one servo step, then it can oscillate.

For this type of app, I've used digital servos. They have several benefits... the first of which is no heat when they are not moving. They are easier on the PIC mcu program, too, because you can give them a single pulse and they'll remember the target--instead of a continual string of pulses.