That's specific to reverse engineering a product that has the same features as an existing one though. Part of the concept of open source is allowing others to learn from your implementation. In many cases one doesn't want to include an open source project directly in their code base for a variety of reasons, maintainability being a big factor. I don't see a clean room implementation being a good solution to the problem of wanting to use accepted standards and practices which must be gleaned from experience working with or learning from other people's code. I don't think you can get far arguing that all code should be written in a vacuum with no ability to learn from outside sources.
Isn't this the reason for clean room implementations?