Lets see if we can put a little more meat on the bones here:
#1: It is not correct that it is "all or nothing." However, you have to be a little bit smart about how you drag and drop "features."
#2: Get started: open the CPS and load the "target" codeplug (i.e., the one you want to "receive" data). Reduce the window to about half the screen and move it to the left. Now open the CPS a second time, load the "source" codeplug, reduce the winddow, and move it to the right half of the screen. On both sides, we will be working with the "tree view" of features, some of which may have to be expanded.
#3: It is important to do things in the right order, or you will be swamped with errors the correction of which is painfully slow (and occasionally obtuse) on the CPS.
For instance, say you want to move a zone that contains a bunch of channels, either trunked or conventional. The first thing you want to move is the "system" that the source codeplug uses for those channels. Expand either conventional systems or trunked aystems, as appropriate, click and hold on the one in the source file you want to copy, and drag it to the caterogy line (e.g., "trunked systems") of the target codeplug. Release the click and wait for the CPS to execute. Next with the "personality" feature. Now you can drag and drop the "zone/channel" feature. Note that more often than not, you'll have to manually edit the box in each line of the new zone/channel for the associated personality. Finally, do scan lists last (again, you'll likely have to edit the scan list pointer in the migrated personalities).
#4: if you loaded the "tutorials" that are part of the CPS install when you installed it, you can access them via the help function. There is a drag and drop tutorial; it is a bit superficial, but you'll likely get the drift.
#5: Depending on the depth of the migration you want to achieve, consider using the "Export/Import" function, vs. drag and drop. Again, there is a tutorial, and be sure to set your Export/Import options correctly before starting: the important one is the "Overwrite/Append" option. Export/Import is particularly useful if, for instance, you want to "clone" a complete portable codeplug to a mobile or vice versa. One neat feature of Export/Import is that it will ignore parameters that are irrelevant to the model of the target codeplug. One other feature of Export/Import (neat? you'll get different opinions) is that you'll see the screen zapping back and forth "typing" in the data. You'll hear a plethora of error dings as it works, but eventually most or all of the errors will disappear as the process completes.