I brush them awhile, and give them little treats at each step of the grooming process...
...so they're already sort of resigned

to sitting there and getting messed with...
...and when I get to "ponytail time", I use the thinnest little latex elastics, and (here's my big tip, lol)....
...I wrap them around my thumb and forefinger FIRST...they'll go three tight rotations....THEN I just have to "pinch" the topknot hair between those two finger, and slide the elastic on really quickly....gets it over with FAST!!!
I'm sure that the elastic doesn't end up being as tight as it really needs to be, this way, but if you double the rubberbands up, it does seem to help.
I have a puppy, and a 10 month old with REALLY thin hair, so sometimes it doesn't stay in long, esp. when they're just playing around the house. But we're still in topknot training.

They are already sitting still to have it done most of the time.
Oh, and of COURSE another treat and lots of praise and admiration at the end!