Используйте Controls.SetChildIndex (дочерний элемент управления, int newIndex) после добавления элемента управления, чтобы расположить его в том месте, где вы хотите его разместить. Это работает, только если вы знаете точное местоположение в списке, в котором предполагается, что элемент управления находится .
В качестве альтернативы вы подумали о добавлении всех панелей и установке значения Visible = false до тех пор, пока вам не понадобится их показать. Это, конечно, работает, только если все панели предварительно определены. Если вы создаете их динамически, это не сработает.