It is pretty difficult to do especially with Groups.
MSFT handle group0s in a verey strange way. A group with say three mshapes inside is treated as FOUR shapes in some places but only 1 in others.
also zorderposition 1 is the back but you have to calculate what the front would be - bearing in mind how group are counted this is not simple
This should work but make sure you work on a copy as it might crash.
Sub moveIT2()
Dim osld As Slide
Dim TopZ As Long
Dim GI As Long
Set osld = ActivePresentation.Slides(1)
GI = osld.Shapes("Group 17").GroupItems.Count
' add a shape and check the zorder for the new front then delete it
With osld.Shapes.AddShape(msoShapeRectangle, 1, 1, 1, 1)
TopZ = .ZOrderPosition - 1
.Delete
End With
Do
osld.Shapes("Group 17").ZOrder (msoBringForward)
' check the last groupitem not the group itself
Loop While osld.Shapes("Group 17").GroupItems(GI).ZOrderPosition < TopZ - 1
End Sub