Players sometimes become unable to reskin things with the Clean Sweeper if the Clean Sweeper has been exchanged between players because the Clean Sweeper tries to apply a skin on an item which isn't owned by the current user.
Check out Klei's code and realize that they refused to add a checker which checks whether the user of the Clean Sweeper does own the currently set skin.
Or in other words:
prefabs\reskin_tool.lua, line 106
if curr_skin == tool._cached_reskinname[prefab_to_skin] then
is lacking a
or not TheInventory:CheckClientOwnership(tool.parent.userid, tool._cached_reskinname[prefab_to_skin])