I suspect you have cables and/or housings that are either old or off-brand. The friction in these can be surprisingly large. Thus the issue can be cable friction like Michael suggests.
- Buy new Shimano 1.2mm stainless steel inner cable. If you have a recent system with a ridiculously high sprocket count, you may benefit from an Optislick coated cable. Otherwise (on 8-speed systems) a regular stainless steel cable works just fine.
- Buy Shimano OT-SP41 / SIS-SP41 cable housing. This is very important to select correctly: I have found off-brand (non-Shimano) housings to be pure crap even when new, and even worse if worn.
- Buy Shimano plastic shifting ferrules / end caps. Note shifting end caps are different from brake end caps. Some derailleurs and/or shifters need a ferrule with long tongue. If you don't have such a derailleur and/or shifter, then the choice is between ferrule with O-ring (sealed) and without O-ring (non-sealed). You will want to use O-ring sealed ferrules at least on the rear derailleur housing loop which is prone to dirt intrusion and very sensitive to friction due to 180 degree bend. The other parts of the system if riding in non-dirty/muddy conditions can have non-sealed ferrules but for mountaing bike use all ferrules should be sealed (with O-ring).
Then you need to cut the housing to length. I suggest not using the existing housing pieces as templates because it's possible your issues are caused by improper length housing pieces.
The four commandments of cable routing are:
- Handlebars must be able to be turned fully to either side
- No wrong direction bends
- All bends should be as gradual as possible
- Housing pieces should be as short as possible without violating the above rules
You need to use special cable cutters to cut the housing. You also should use a sharp tipped tool to pry open the plastic housing liner flattened by the cable cutters.
After installing the cable, you must eliminate initial slack from the housing. You can do so by shifting to the lowest gear (biggest sprocket) and by grabbing a location of exposed inner cable and pulling it hard away from the frame tube, against the rear derailleur "L" limit screw. If using trigger shifters, you will somewhat need to limit the force so that you don't break the shifter. If using thumb / bar-end / downtube shifters, you will be able to pull very hard if resisting the motion at the shifter end so that it won't auto-shift at the shifter.
With a new SIS-SP41 housing cut to optimal length pieces, new 1.2mm Shimano inner cable and new ferrules, and after eliminating initial housing slack, you will minimize any cable friction issues.