Currently I am using Cook's distance to detect outliers in multivariate data. Is there any better approach than Cook's distance for the same?
An alternative could be the Mahalanobis' Distance to detect outliers.
Basically, this metric gives the distance for every point to the gravity center and help you identify the outliers by selecting the larger distances. One thing to note about this distance is that it works with the covariance matrix.
Therfore, it takes care for "ellipsoid" dataset and adjust the distance result with the width of the ellipsoid in the direction of the tested point. That means that it assure you to identify real outliers outside of the given distribution of your data.
Generally speaking, outlier detection corresponds to low-probability density detection; i.e., reject points where the PDF is "small". Cook's Distance and Mahalanobis' Distance correspond to parametric model's in that they assume the data should correspond to some underlying distribution or model. There are many other possibilities out there, like LOF (local outlier factor), using some form of explicit density estimation followed by rejection, using one-class SVM, etc.
If you know what is the underlying model that your data should follow, then you should definitely leverage that in terms of getting better results (i.e., parameteric density estimation will beat out non-parameteric if you have the right model).