What you want is more a Picture Package then a contact sheet. Photoshop had a Picture Package Plug-in in release before CS6. The CS5 Windows plug-in can be installed in Windows CS6. There is both a 32 bit version and a 64 bit version,
Mac users are out of luck for there is only CS5 32 bit version plug-in and Mac CS6 is only available as a 64bit application.
You could make a Template with Selections and save it.. With a picture open an Action can resize it rotate if necesary copy it to the Clipboard than open the Template load the selection and Past Into this selection. Then back to the picture resize again and copy.Switch to the template load the selection and pastinto.
If you give me the required seizes I write you the Action and the Action for the Template.
I agree with the others, unless you are using an older version of Photoshop that has the Picture Package plug-in your best bet is making a template for each package. However I would use smart objects when creating the template. That way you can create a new package from the template by just replacing the contents of any one of the smart object. The others will update automatically.
You can script the smart object replacement and make packages for a folder of image very quickly.
Even if I had access to the Picture Package plug-in I would still use a smart object template. I think it does a better job if the sizes in the package are not the same aspect ratio.
As Michael wrote a Picture Package Template using a Smart object layer. That you dupe many time, transform and position the image layers on the canvas. All the duped smart object layers share a common single embedded object. All you need to do is replace a single embedded object with an object the same size, Just target any image layer right click an use replace content. This one replace content will change all the images layers in the template. The replacement image must be the same size as the original image so that all the smart object layers associated transforms work correctly.
If you do not want to make a template and a picture package where all prints are the same size is what you want. You can use my PasteImageRoll script. Several image packages can be made in a single run and any size input images can be used.
If your image files vary in pixel dimensions size and you want to make Image package containing several print sizes. You can make a template for my Batch Picture Package script. Any size input images can be used however my script will run much slower then one designed for a template that uses a shared embedded object. For my script will place your image into each image location as an independent smart object layer resized for the image location. Lots of overhead an slower operation.