In short, the virtual domains are just alternate names for the same server. By default "bob" is an account on the system, accessible via domain1.com, domain2.com, or domain3.com. I think all the solutions so far involve creating "bob1", "bob2", and "bob3" accounts, and having bob@domain1.com forward to bob1, bob@domain2.com forward to bob2, and bob@domain3.com forward to bob3.
I have no need for virtual domains, so I don't have any firsthand experience, but this is what I've picked up from previous posts here. I think you'd have to change a lot of stuff relating to the virtual domain and user setups to allow accounts like you want...