1. часть запроса: В чем разница между этими двумя регистрациями событий?
_popUp.AddHandler(PreviewMouseLeftButtonDownEvent, new MouseButtonEventHandler(PopUp_PreviewMouseLeftButtonDown));
_popUp.PreviewMouseLeftButtonDown += new MouseButtonEventHandler(_popUp_PreviewMouseLeftButtonDown);
2. часть вопроса: или в конечном итоге против
popUp.Opened += PopUp_Opened;