If I have an unusually high bug count (or a bug count at all, really), then it's due to lack of quiet and enough time alone to think.
I can't imagine that 4 folks sharing 1 keyboard would result in as much or even as good code as 4 people in 2 groups with 1 keyboard each?
The diminishing return curves for throwing more programmers at a single keyboard are really bad.
In my experience: Solo is best when you are doing grunt work. If I can autopilot, then sure.
Pair is great for when you are starting out and implementing a complex feature or tool. We generally don't do a lot of actual coding (just structures and pseudocode), but will do a LOT of whiteboard drawing and talking through logic. Multiple brains are what you want at this stage, and if you have a co-worker who complements your thoughts well, you can do a lot of great work.
And for bug fixing, pair programming is hands down amazing.
Mob programming I personally dislike, but it has its uses. I would argue this also belongs more at the high level planning stage, but it can work well when you are adding a new feature where you would benefit from a few different disciplines.