Being arrested and being cuffed are two different things in LSPDFR. BeingArrested is the stage where:
1) The takedown is initiated
2) The player starts holding down the E key
In the first case, the player could literally just stand there and aim their pistol at a grounded suspect - they'll still be counted as being arrested. Not sure if this is something you want. In this event, you could potentially be "arresting" multiple peds. The same is technically true for AI, but I don't think they're allowed to arrest multiple at once.
Assuming that is something you intend, there are no practical reasons the methods you gave wouldn't work. You could optimize further by maintaining a cache of Peds so you're not calling World.GetAllPeds every time. Mockup code with no such caching benefits:
https://gist.github.com/RiverGrande/6361b57bb5231762c75d127df5a4cb02
No one is forcing you to play or develop a modification developed for free by a group of individuals who reverse engineer a game with no real support from Rockstar Games. If you have issues with LSPDFR (and specifically the API, as this is the topic for the API), you should provide information so a patch can be introduced in a future update.