$20 is probably about average for a tire rotation. Your TPMS sensors do track which corner they sit on but will not throw a light after a rotate.
However if a code is thrown for a sensor error (i.e. sensor no seen by tpms module) and the sensors where no initialized after the rotate they will show as being in their old locations possible making the technician's life harder
That being said, $47 dollars is way too much for a rotate and you cannot tax labor, which is all a rotate is.