Ideally monthly, but I don't really have the time to do it monthly, sometimes every 2 months. Cleaning and lubricating the rods is quite important and this can be done more often.
I use the lubricant that comes in the box with Prusa printers. Probably any lube would do it . I did read good things about lithium lube but never tried it. The cleaning filament is not very good for cold pulls , it sticks to well on the nozzle and it breaks when you try to pull it out. I found PLA+ does the best job for me. Some people do it with nylon but I never tried it.
Yes, it is pushing some lube to the ends, but if you evenly spread the grease along the rod, the balls inside the bearings are definitely collecting a lot. The barrel ends diameter is higher than the rod's. That is the reason I keep spreading the grease a few times while moving the bed and the hotend. This worked very well for me. Some of my printers are almost 3 years old, printing 24/7 and they print like day 1.