As the Joysticks of my trusty (wired) Xbox 360 controller are all worked up over the years I decided to make my own little caps to improve on grip again; fortunately fits PS4 controllers as well (DualShock4 v2) and might fit other Joysticks with a Tip-Diameter of ~18mm.
If it sits a little loose, try to scale down X and Y in your slicer slightly (97-99%), if your Joystick is slightly larger you can also scale them up this way.
The crosshair-design on top may seem as uncomfortable but allow for great grip and don't “hurt” at all with printed TPU.
I made two versions, one with a clean rim and one with added grip around the edges.
Might fit newer Xbox and PlayStation controllers, I don't have any of them to test :(