track the chess piece's position with two variables when it's pushed, and if it's equal to the X and Y coordinates (position) of the switch, activate the switch.
that's the only way I can think of to do it.
Chess Piece -> Event Page 1 (On Hero Touch)
when the hero touches it, have it move one square away from the character.
there should be an option in the 'set variable' event call to store the X and Y position of an event on the map. Have one variable for X and one for Y of the piece.
then with two conditional branches, you can first check the X variable, if it is equal to the X of the switch, check the Y value, if that is equal, then activate the switch, and disable movement of the chess piece.
(turn on Self-Switch A, and have a blank 2nd event page set to trigger on Self-Switch A)
that's the pseudo code of it, you'll have to put the right event calls together, but I think you can do it from here.
* Cecil hopes it wasn't too confusing .-.