Clean Data is a concept expressed in relative terms. There is no such thing as data that is ‘perfectly clean.’ You need to decide what ‘clean enough’ means.
Data should be cleaned before data migration begins. Cleaning data after go-live is always much more difficult.