You can use changepoint analysis to identify regime change.
You can also look at large angle differences in the eigenvectors between your most up-to-date/recent covariance matrix and the covariance matrix from the prior window.
Another way to identify regime change is using a factor model. If the returns on a particular set of factors is X standard deviations from its usual terrain for a sustained period then you can call this regime change.
I do not believe you will find a single time window that is best. Regime duration is variable. Key here is identifying an estimation procedure for a covariance matrix that produces reasonable out-of-time forecasts. You will need to do some empirical testing, or develop a rule to re-estimate your model based on the how you identify regimes, or use a Garch Garch (or other dynamic modelsmodel) as Patrick suggests.
Technical side note: You probably don't want to discard old data completely but instead weight more recent data with exponential weighting, or re-scale the covariance matrix to reflect current volatility. The eigenvectors of the correlation matrix (after the 1st eigenvector which is the market factor) will correspond to sector and industry groups. These correlations will persist. When market flip from bull to bear market (let's call this a 1st order approximation of regime - as opposed to style and industry changes) what is happening is that the variance explained by the largest eigenvector has increased substantially.