This tutorial explains how to make an event where you hold a button on the keyboard, (In this case 'A') to push objects like boulders by touching them.
This is on RMXP, but it should work on VX too.
1.First start a new event, set the trigger to 'Player touch', and start a conditional branch, when button 'A' (or whaterver you want) is being pressed. Note that you can completely skip this step if you want to just touch the boulder to move it.
Click to view attachment
You can have a text to appear if you are not holding down 'A' like this one:
Click to view attachment
2.Now open another conditional branch, and set it as shown in the image:
Click to view attachment
3.Then on the same branch add 'Set move route' as shown, you can have any number of steps, but i chose 1:
Click to view attachment
It should look like this by now:
Click to view attachment
4. Now just repeat 1-3, making sure you have e.g: When player is facing right, set move route, turn right, X steps forward. It should look like this:
Click to view attachment
Hope it helped!