A few bugs:
What should it clean do you think? All the local packages and cached info? Or just one package, or ?
Current cabal clean just cleans one package (e.g. that happens if you use it in a sandbox?) so that's my inclination. Though I'm not sure.
Fwiw, I'd expect cabal new-clean to remove the dist-newstyle/ which may contain all sorts of executables and local artifacts (i.e. non-cabal-store artifacts)
note that custom Setup.hs gets compiled into $PACKAGE/dist/.. even with new-build. so new-build clean might need to
packages `forM_` \path -> rm -rf (path</>dist)
as well. (sorry for the haskell/bash mixture, it is horrible.)
Putting this low priority because the workaround is really simple (just delete dist-newstyle yourself.)