The main reason would be that they were more useful alive but imprisoned, much like Warwick was to Henry Tudor. Their deaths in Richard's custody are bad for Richard because it implies he aimed for usurpation and it allows for claims via their sisters.
Personally I think they either died in a bungled rescue (Warbeck could even be young Richard), on the orders of a stupid supporter of Richard III, or on the orders of Henry Tudor (or supporters).
Except Richard failed to actually use them this way when he was accused of murdering them (unlike Henry VII did with Warwick). And the previous decades had demonstrated clearly that as long as there was a living pretender, someone would be interested in using them as a figurehead for a restoration attempt (Henry VI was absolutely useless, and yet the Lancastrians made how many attempts to restore him? including one that briefly succeeded; the same was true for the imprisoned Richard II a century earlier). As long as the Princes were alive, someone would have the bright idea of using them as a justification for a rebellion. It's not like he needed anyone to accuse him of aiming for usurpation, either; he
had already usurped the crown, as had half of English monarchs since the overthrow of Richard II (Edward IV even did it twice).
If they had died in a "rescue" attempt or been assassinated by someone other than Richard, he would have publicized that and been able to blame the perpetrators. The fact that he didn't strongly suggests they either died on his orders or, at best, of natural causes shortly after being imprisoned (which is also not a good look for the man who imprisoned them).
"It's more likely you get a clear-cut victory, but with the loser managing to escape with at least some of his supporters to continue the fight (most likely Richard, because I'm skeptical Henry Tudor would have been well-placed to stage a later comeback if he was defeated at Bosworth; I suspect someone would be much more likely to turn him over to Richard afterwards). That sort of thing did happen regularly throughout the Wars of the Roses."
Did it? I know quite a bit about the period and I had the exact opposition impression. If you were high ranking enough, losing a battle guaranteed you would be killed either during it or afterwards, and this applied to even minor battles.
In fact I have a hard time thinking of counter-examples. The Yorkists did not want to kill Henry VI or his wife, so they kept being taken prisoner or allowed to get away. And I think Warwick got away from one of the battle he lost. But I honestly can't think of any others.
Warwick got away from Second St. Albans, as you note, and rejoined Edward IV for Towton.
Several of the senior Lancastrian commanders (most notably Somerset) managed to escape from the disaster at Towton; Somerset also managed to escape from Hedgeley Moor after that defeat (with one of his allies leading a last stand delaying action, which is probably the easiest way for such a thing to happen at Bosworth), before finally dying at Hexham.
Oxford managed to escape Barnet (although he wasn't in overall command for that one, he did command one of the wings). And while it wasn't a real battle, the senior Yorkists all fled from Ludford Bridge once it became apparent that their army was outnumbered.
Those are the ones that immediately spring to mind.