I do all my own repairs. Made easier by the fact that it seems like bikes are getting more homogenous these days. In my opinion, bikes are ALL about the "chain of compatibility" - Diameters, threading, widths, standards of measurement, etc. For example, I'd like to put a rigid fork on my MTB commuter, but I have to make sure it's a threaded fork. I can't just "go threadless" because a threadless fork would require a new headset, a new stem, and the new stem would mean new handlebars, which might mean new brakes and shifters, depending on what the clamp sizes are for those.
Just the other day I tried to go into a shop and buy 27inch tires, and the guy kept pointing me to 700c. When calculating gear inches for a 700c wheel, you would use 27 inches as the diameter of the wheel, but a 27 inch wheel is, in reality, 8mm larger in diameter when compared to a true 700c wheel. I finally had to say, "No, they're close, but not the same" He tried to show me that it'd work by putting a 700c tire on 27in wheel they had in the shop. Didn't fit.
It's a lot harder to go wrong with modern bikes though. They're basically all the same. Some components may require others (like new crankarms with the spindle attached will need a different type of BB), but at least there's less chance for screwing up some measurement, like BB shell diameter.
As for shifting performance.. I find it hard to imagine how it could be so difficult since they're indexed. You could always start from scratch.. Shift the chain down to the smallest cog, Turn the barrel adjuster all the way clockwise, loosen the cable pinch bolt on the derailleur, pull the cable tight and re-tighten the pinch bolt, use the shifter to shift up one gear, starting turning the crank arms while turning the barrel adjuster counter clockwise. When the chain jumps to the next largest cog, you're practically done - fine tune through the rest of the cassette.
If you're finding that shifting to a bigger cog is sluggish, and using the barrel adjuster to help it along subsequently makes it slower to shift to a smaller cog, you probably have gunky cables, and the friction is causing poor performance in both directions. replace the cables.
This post had no direction whatsoever.