3 weeks is too long if you were told otherwise when you took it in, I don't care how good the dealership has been to others. Having said that, we only have part of the story.
I'm trying to picture the conversation. You- Need a 500 mi service. Them- ok, bring it in on..., You- ok, I also need you to track down a windscreen problem and fix the shifter, Them-???
From here I would imagine there was a discussion about parts and that it might take (insert time here, one week, two weeks, etc). To which you could have elected to have them order the part and call you when it arrived (ya, I know it's a long way... many of us deal with that), or you might have said, "that's alright, I'll leave it with you until it's fixed." If you said somehting like the latter without knowing how long it would take, then you now know not to do that again.
So 3 weeks is too long if they promised something else. If not, maybe it's not.
Having read your post again, I think it's too long to wait from the 13th to the 5th, if they had the parts in then. Your bike should have some priority as it is already in the shop. Ask them what happened and get it clear what you can expect next time you need them.