First of all understand the difference between first person perspective and third person perspectives.
1: They are just switching two cameras one is attached to the head of the character and the second is place far away from the character and attached to the spring arm or use one camera and switch attachment between sockets on your character for fpp camera and tpp camera and in case if you want to shoot weapon you are still in third person mode no matter which camera you use out of them.
2: If you want a real system where you will have both first/third person modes not just the camera switching, consider having two character classes BP_FirstPerson and BP_ThirdPerson.
Both classes uses their own unique set of animations, and now you can make some switching system so when you want to switch to the first person mode, construct a copy of it based on your third person class having all those properties like health, weapon, inventory items etc… and spawn it, start posessing it and destroy your old third person character.
for optimization consider catching the classes.
hope it helps, cheers!