Got it working even better courtesy of some advice from crossroads at the RPGMVXA Community site.
http://www.youtube.com/watch?v=GafgyGr671U&feature=youtube_gdataIf anyone else is interested this is how I did it.
Create the switch event with the trigger set to parallel
Create a conditional branch with the following script condition
$game_map.events[@event_id].x == $game_map.events[6].x and $game_map.events[@event_id].y == $game_map.events[6].y
Where 6 is the event number of the first boulder
Under Else create another conditional branch with the following script condition
$game_map.events[@event_id].x == $game_map.events[1].x and $game_map.events[@event_id].y == $game_map.events[1].y
Where 1 is the event number of the second boulder
Then, I called the following script for the true condition
$game_self_switches[[19, 2, 'A']] = true
and this for the "Else" in the second conditional branch
$game_self_switches[[19, 2, 'A']] = false
Then I just duplicated this switch and changed the event number in the game_self_switches calls (so each switch activates something different). You could also set a variable I guess and have an activated switch increment a counter by 1 whilst a deactivated decreases it. That way you could have another event, like a door, open when the cvariable reaches a certain value (i.e.e the number of switches)