Oh god, here we go.
Firstly, and before I get in to anything else, there's absolutely no point even thinking about what levels you should be mixing to unless you've calibrated your system t one of the mixing standards (-18dbfs or -16 if you must).
Without it, you have no idea what those levels mean in real applications.
If you are on a calibrated system then we can talk about what levels you should be mixing to.
And the answer is just a fraction below (or as close as humanly possible to) 0dbfs on your meters.
One of the reasons that things like "-6db" and "-10db" get banded about is because someone asked Robert babicz what level they should send him a file, and he responded with -6db.
However, this was slightly loaded becuase as I understand it, he was sick of people sending him clipped files with tons of compression, so he said he prefers so compression at all (except maybe if you've got it on a drum group) and then leave him 6db of headroom so he can compress and add enough makeup gain. It was also so that if any stems needed rebalancing he had a little space to play with.
So in essence, his answer was for those that were sending him files that weren't really ready for mastering and that extra space could let him fix it.
IMO (and not to contradict someone as talented as him) we should aim for a perfect mix, then treat mastering as a completely separate stage and entity.
not to get too tangential but too often we try to do it all; We compose, arrange produce, sound design, engineer, mix, and master, as is the nature of electronic music, but we need to realize that these are actually separate disciplines and in nearly every other form of music, you'd never attempt to do all of them (unless you're prince, and even he had engineers to help).
Having said that, we have the tools to do it....up to a point.
Personally, I believe the furthest we should try is up to the mixing point, and leave mastering to a professional. I've been a studio and score mix engineer for close to 15 years now. One guy I worked with has an IMDB that would make you shit yourself, he's arguably one of the best mix engineers on the planet (i.e. top 5). Even he states mastering it out of his league. he could probably do it if he applied himself, but it's a completely different disclipine using different equipment and a different mindset.
Why am I going on about this?
Because, if you deliver a well mixed file that's at 0dbfs, any decent mastering engineer will have no problem working with that.
All they have to do to give themselves headroom is attenuate the gain down to a lower level if that's what they need - The crucial advantage of this (and why I disagree with babicz) is that inherent noise floor has been printed at it's optimum level of signal to noise ratio at it's calibrated peak of 0dbfs. If you deliver a file printed at -6 or -10, then the noise floor is printed relative to that level, and then when you bring it up to 0dbfs, as any mastering engineer will on a calibrated system (see why it's important to have a calibrated system now?) the noise will be raised along with the gain, meaning there's more noise than the file that was at 0dbfs.
Also, from an engineering perspective, especially in terms of gain staging, you set the benchmark for your system and you mix to that benchmark. It makes no sense to setup your signal flow and gain staging, only to mix to some arbitrary figure below that.
Every single mix engineer I know mixes to 0dbfs. If you need anything else, then change the gain after the fact or let it be the mastering engineer's problem.
Finally, if your asking these sort of questions about mixing to strange levels, you're not in a position where you should be considering mastering. Mastering these days costs nothing, and there plenty of guys out there that will do it for relatively little and give you decent results.