There is an inherent order of the visible frames, but it does not coincide with any particular user-wished order. To cycle through frames in that inherent order you can use command
C-x 5 o).
To move through frames in an arbitrary order that you choose, you would need to create a list or alist of them in that order, and cycle through it.
If you use Icicles then you can at least choose a frame by its name, using completion, with command
icicle-select-frame (bound to
C-x 5 o in Icicle mode).
And you can sort the completion candidates in various ways, and then cycle through candidates in that sort order. You can also define your own sort orders, so if you have a set layout of frames then you can use a custom sort order than cycles through them in the order you want.