5% off is about $1500 over invoice. Not a bad deal, not a great deal, but a decent deal.
A lot of how good of a deal you can get depends on how big of a market you are in, and what time of the year/month you are buying. If you have remorse about the sales guy putting a few extra clams in his pocket you can always email the fleet manager of every BMW dealer within 200 miles of you to see who will give you the best price. Inevitably someone will probably offer you the car for approximately $500 over invoice.
Remember that a good deal is when everyone walks away happy, or at least no one is more pissed off than the other guy.