Because Charlie uses a potty I rarely do full cage cleans - maybe 4 times a year! I empty and clean out the potty about once a week or a bit less than that sometimes. He only hoards dry food so I only spot clean and check his hoards when I empty the potty once a week. I found the Erin's Hamsters cage cleaning tips video really helpful, (below) it explains so much. So now when I do a full clean I only replace about the top third of substrate and mix the bottom two thirds in with the new top third. I clean any toys or the wheel on a different week to doing the substrate, so it doesn't all smell different all at once and some things still smell familiar.
https://www.youtube.com/watch?v=5jVnEjrXbww