Вот решение. Он работает, как и ожидалось, и не меняет вашу панораму, поэтому ваш пользовательский интерфейс соответствует.
pan.SetValue(Panorama.SelectedItemProperty, panoramaItem);
Panorama temp = pan;
LayoutRoot.Children.Remove(pan);
LayoutRoot.Children.Add(temp);
LayoutRoot.UpdateLayout();
это не идеальное решение, поскольку оно не очень хорошо скользит, как панорама, и, вероятно, оно не очень эффективно, но, с другой стороны, вы не меняете элемент по умолчанию, поэтому ваш пользовательский интерфейс остается согласованным.