McCaw won the part 3 steps competition.

And the program:
START ********** S000 ********** SDULULLDUD
S000 AA__****** S001 PP_******* RRRSUUDDUD
S001 A____**_** S01A ___******* RRRSRSSRUD
S01A B____**___ S01A P__******* RRRSRSSRRR
S01A CA___**___ S01A PPPPP***** RRRLRSSRRR
S01A DC________ S01A PPPPPPPPPP RRRLRLLRRR
S01A _____**___ STOP ___******* RRRSRSSRRR
The golf for the whole program is 1829. 1 rule to spread the heads a little. S000 and S001 each spreads them a little more. And then S01A goes through the rest of the line. At 1st glance, there are 21 rules with S000 and S001 each. S000 writes 2 P’s, probably with the idea, that they might be deleted later.
From what I can tell, the purpose of a rule like S032 is to say “remember to write 32 more P’s”. (Maybe that 32 is in hex?) Let’s look at the extreme example. Note that the program keeps running for a while after the D’s end.

And the program:
START ********** S000 ********** SDULULLDUD
S000 DD__****** S007 PPPP****** RRRLUUDDUD
S007 DD______** S026 PPPPPPPP** RRRLRLLRUD
S026 DD________ S028 PPPPPPPPPP RRRLRLLRRR
S028 DD________ S02A PPPPPPPPPP RRRLRLLRRR
...
S056 DD________ S058 PPPPPPPPPP RRRLRLLRRR
S058 DD________ S05A PPPPPPPPPP RRRLRLLRRR
S05A __________ S050 PPPPPPPPPP RRRLRLLRRR
S050 __________ S046 PPPPPPPPPP RRRLRLLRRR
...
S032 __________ S028 PPPPPPPPPP RRRLRLLRRR
S028 __________ S01C PPPPPPPPPP RRRLRLLRRR
S01C _____**___ STOP PPPP****** RRRLRSSRRR
The first rule spreads the heads. The next rule writes 4 P’s, as the heads have only spread to 4 positions. Go to S007, meaning 8 P’s are owed? S007 spreads the heads even more, and now the 10 heads are at 10 different positions. Meanwhile 8 P’s are written and we go to S026. From there on, each rule writes 10 P’s, but as the input is DD, that means the debt rises with 2 P’s, so we go from S026 to S028 to S02A etc. At S05A we finally run out of D’s, and the rest of the rules write P’s as fast as possible. I guess some of the optimization here is, that instead of using the 10 heads to write 12 P’s in 2 steps, all the debt is written at the end. I’m not sure about the numbering of those rules. 26hex = 38dec doesn’t quite mean 38 P’s are owed. So maybe there’s an overlap, where S01C means S018 + S004, 18hex to signify some state and 4 to signify writing 4 more P’s. The 1st example stays in S01A, and nothing is ever owed.
I looked a tiny bit at Peter’s solution, coming in at no. 2. He operates with MOVE6, MOVE8 and MOVE10, each meaning 6, 8 or 10 P’s are owed. But then at MOVE10 and when encountering DD, let the reading heads stay at these DD, write 8 P’s and go to MOVE2. A nice way for the debt not to grow too large.
Code
.






















