Starter – rebuild OEM or buy aftermarket

I think my starter just went this past weekend. Charged up my battery when i got home and it will still just barely turn, not enough to start the engine (battery was new in May).
a mechanic we had stopped and talked to while out there said i should get a rebuilt OEM starter, NOT any aftermarket starter.
Has anyone done this? can i just take the starter out and have my local shop rebuild it for me?
or has anyone had any luck with a specific aftermarket (dependability).
1,400 miles on this machine. 2009 sportsman 800 HO