You should be OK without, the title would have been sanitized prior to placing in the DB. However, since the slug is part of an URL and the title is not intended to be, run the value through rawurlencode()
What is it about slugs that you find objectionable? I ask because blindly setting the title as slug can cause problems. Using rawurlencode() probably would address most problems, but may do things to the title related to your objections, so done properly, you may not be solving the problem. What is not solved is the possibility of the same slug being applied to more than one post. This must be addressed somehow.
It may be that wp_update_post() might still address these, IDK. What causes your code to execute? A hook I assume, so which hook? Depending on the hook used and your intent, there may be a better way to do this. But if wp_update_post() addresses what I see as potential problems, what I have in mind may not. I may be simplifying the overall code, but causing more work for you. I can determine the answers if I know more of what you’re really trying to do.
You could also disregard my concerns and proceed as is. It’s your site after all ??