I think, in general, you get a better puppy if you wait for 9-10 weeks. 12 weeks is a bit long to leave them with the litter (unless the breeder is doing an excellent job of socializing them). I got Willow when she was 6 1/2 weeks old. She potty-trained extremely quickly, but was terribly nippy for over a year. I'm sure she would have been better if she had stayed longer with the litter. Same goes for kittens, incidentally. 9-10 weeks is optimum.