McIlroy back on the podium, wins BMW PGA Championship