Call a vent cleaning service. They have the correct tools and know-how to clean it right.
I've a rental home with air conditioner vents in the floors. Someone vomited in the vent accidentally and it smells awful. The tenant sprayed an entire can of Lysol in the vent to no avail. How can I get rid of the smell?
You have to take the vent apart and clean it .. Spraying anything on it will not mask the odour ... Obviously.
I think you have to call a vent clean service and they have know that how to clean it. It is good for you.