Make comes from a time when version control was fairly immature. I understand the need for a streamlined way to clean the workspace back then.
Nowadays any decent version control tool can clean the unversioned files in the workspace. Files which don't need cleaning (cache, downloads, etc.) can be excluded. It is also fast and easy to clone the entire workspace again if required.
I can think of reasons why not to write a clean target: it increases the size of the codebase, it might contain bugs, etc. I would like to know if there are any good reasons to write one nowadays?