SQL Server 2008 R2 service pack steps .....on cluster
I would make a slight modification to the procedure to reduce the number of failovers:


Remove Nodes 3 and 4 from the list of possible owners for each SQL Server Cluster Instance, leaving Nodes 1 and 2 as possible owners to preserve failover capability while doing the rolling upgrade.
Apply the Service Pack and latest Cumulative Update to nodes 3 and 4.  Reboot as necessary.
Make nodes 3 and 4 possible owners for all clustered instances.
Failover the clustered instances to either node 3 or 4.
Remove nodes 1 and 2 from the list of possible owners.
Apply the Service Pack and latest Cumulative Update to nodes 1 and 2.  Reboot as necessary.
Add nodes 1 and 2 back in as possible owners.
Leave the instances on node 3 or 4, or fail them back to node 1, if desired.


Microsoft has documentation providing more details if required.