How to iterate through a PropertyGroup?
I am wondering the same thing too, but I found a solution in this discussion: here

After using help() or dir() in that PropertyGroup, you can find out some attributes inside this object as follow: 

['__annotations__', '__dict__', '__doc__', '__module__', '__weakref__', 'bl_rna', 'name', 'rna_type' , "SOMETHING", "YOU", "DEFINED"]


Depend on what version of blender you are using, you can iterate these attributes to get what you defined.

For Blender 2.8, since the APIs forced developer to use annotation instead, you can find all attributes(as a dict) you defined in bpy.some.where.thePropertiesGroup.__annotations__ without those inherited attribute from PropertyGroup.

If you want to get those attribute, you should use built-in getattr() method as following: 

for key in propsgroup.__annotations__.keys():
    the_value = getattr(propsgroup, key)