How many features are you going to be going through? Is this a process you will be doing often or rarely? Depending on this you could read out the entire dataset to a dictionary using a search cursor then use an update cursor on the rows you want to transfer the values to. This would probably be the fastest method if a bit memory intensive depending on the size of your dataset.
If that isn't the route you want to take you could use nested cursors as you described in your title. This may be one of the few cases it might make sense to use nested cursors if this is a process you rarely do and/or you are dealing with a very large dataset with many row pairs you need to read and write.