I dont know if this help but i think the random moves from .Moves=$suggest come from this code in: https://github.com/kwsch/PKHeX/blob/master/PKHeX.WinForms/Subforms/PKM%20Editors/BatchEditor.cs
case nameof(PKM.Moves):
var moves = info.SuggestedMoves;
Util.Shuffle(moves);
Array.Resize(ref moves, 4);
PKM.Moves = moves;
return true;