Actually, it's not JUST because it's a BMW, true the way OE sound system is setup in a BMW isn't that great to work on as far as aftermarket goes.
As far as it having a lot more labor involved, it's NOT just like any system that has an OE amp, it's a bit more complicated due to the fact of the way the amp works, for instance, if you notice, your car ought to have 1 speaker with two tweeters for the front, and the rear you have about 4" with another tweeter.
IF you were to go IDENTICAL size to replace those, for the rear I think it's $450ish (not 100% sure there)..... BUT there are ways to get around that, for instance I had a friend come by work the other day, his rear speakers on a 95 m3 were just done for. We replaced them with 4" Boston speakers and I told him to put some weather stripping in between the speakers and the little black plastic box from the factory so they would be sealed, they sounded much better than factory.
What you can also do is go for the 6*9 route and upgrade a little, I know that Bavarian Soundwerks sells some adapter plates that work like a charm...
For the fronts you have to go components, but you will have only 1 tweeter, you could have both tweeters but, in order to have both there is a good bit of money involved, and quite frankly, NOT worth it. Any regular 5.25" component speakers would do just fine....
What do you mean, by "Adding better sound"? What are you planning to add?
But yeah, since we drive BMW they are a bit more complicated than other cars since there is more engineering done with them, but it doesn't always have to be more expensive because there are MANY routes you can take to have a better sound system...