Juan Martin del Potro struggled to dominate Roberto Bautista Agut on his way to a 6-2, 2-6, 6-4 win as the giant Argentine reached his third successive tour semi-final.