Io ho fatto una classettina che uso come controllo personalizzato, ma niente vieta che tu estragga il codice e lo metta negli eventi di una o più textbox 'normali'. La chiamo TextBoxMonetaria, perchè è predisposta per accettare cifre fino a 999.999.999,9999 sia nella nostra notazione che in quella americana 999,999,999.9999
I separatori delle migliaia li mette (e li toglie) automaticamente. La virgola o il punto decidi tu dove metterlo, ma che tu prema "," o "." te lo converte da sola nel separatore decimale in uso. Puoi anche decidere se avere 2, 3 o 4 cifre decimali. Ovviamente accetta solo numeri e controlla anche il copia/incolla e la cancellazione di più cifre evidenziate. Non l'ho testata moltissimo, però. Se è quello che cerchi, puoi farmi da beta tester 
E' senz'altro migliorabile, ma è una delle prime cose che ho fatto in vb.net e anche se ho operato un primo refactoring, avrebbe senz'altro bisogno anche di un secondo, ma ... ora non ne ho il tempo!