We used to charge a "cleaning fee". But we found the place was often (most of the time) left in a rather dismal condition. They don't feel any obligation to clean or tidy up. They paid for that convenience. And there's little you can say about it.
We're now getting better results by simply building it into the price and engaging with guests on a personal level at check in.
In this way, it tends to attract a more responsible guest demographic due to the elevated price, but with positive personal contact, they tend to see you more as "someone they know", not some faceless "owner". and tend to respect the fact that the cleaning burden is on the host, and they'd feel guilty about if they left it messy. Some still do leave it a bit messy, but I can see they've made an effort. It would probably be much worse with a "cleaning charge".
However, this doesn't work with certain guest profiles. For example, larger groups of 20-somethings tend not to care. So, we impose a security deposit on that type of guest, and it works really well. But there's no need to impose this burden on nice families that just want to enjoy a relaxing holiday.
Now, if you're a total "hands off" host that never has any face-face contact with guests, none of this would probably work for you. At least it would be a bit dangerous, so in that case, I'd suggest a reasonable cleaning fee, or requiring a hefty security deposit. Security deposit is always a bit more effective because they can get it back. It's a carrot. They don't get a "cleaning fee" back, so no need to be conscientious. Just leave it in whatever state it was in when they woke up on checkout day. They paid for it.
Just my tuppence. Hope it helps.