RPC To Update Players of My Character Customization Selections

Options
Hello All. I'm trying to find the best way to update remote players with my Local Player Customization. There are over 400 sprites to use in various body part locations on the 2D character. I currently customize the character while connected to the Master Client > Lobby (before joining a room/game). Example.. Head = sprite (bald), Body = sprite (shiny armor), hands, feet, weapons, etc...

Once I'm in the Room / Game the player characters are instantiated with its default sprite customizations, and then I proceed to up my character in with the appropriate afore mentioned sprite selections. This works locally (i can see my changes), but I don't see the changes remotely (what the other player customized their character with).

So the questions are:
What am I doing wrong here?
Is there a better way to do this?

***Things to note:
This script is not attached to the Character Player.
The Character player DOES have a photonView component.
This gameObject DOES have a photonView component attached to it.

My current test code is as follows:

public class UpdateSpriteTestClass : MonoBehaviour
{
    /// <summary>
    /// This function is called when the scene loads
    /// but after the base character prefab is instantiated
    /// for both players.
    /// </summary>
    public void SetSpriteSelections()
    {
        pv = GetComponent<PhotonView>();

        if (pv.IsMine)
        {
            pv.RPC("RPC_SetSprites", RpcTarget.AllBuffered);            
        }
    }

    /// <summary>
    /// An RPC call to update remote players 
    /// with my characters selected "outfit" of sprites
    /// </summary>
    [PunRPC]
    void RPC_SetSprites()
    {
        List<string> rendererGOnames = new List<string>();

        foreach (Transform child in playerDoll.transform.GetComponentsInChildren<Transform>())
        {
            for (int i = 0; i < spriteRendererConainterList.Count; i++)
            {
                if (spriteRendererConainterList[i].rendererName == child.gameObject.name)
                {
                    child.GetComponent<SpriteRenderer>().sprite = spriteRendererConainterList[i].spriteToUse;
                }
            }
        }
    }
}

/// <summary>
/// Construct to store a string and a sprite
/// to match the correct gameObject with the correct sprite
/// previously selected.
/// </summary>
public class SpriteRendererContainer
{
    public string rendererName;
    public Sprite spriteToUse;

    public SpriteRendererContainer(string rendererGameOjbectName, Sprite sprite)
    {
        rendererName = rendererGameOjbectName;
        spriteToUse = sprite;
    }
}