This is a disassembly of sprite 3E, the POW/P-Switch.
Extra bit is used to determine whether the switch will be blue, or silver.
This includes the full routines for handling the sprite while it is not being carried and susceptible to physics, and while the sprite is being carried by the player. For ASM hackers you should be able to tweak the sprite to a fair degree and use as a base for custom objects.
Keep in mind that unless you have a patch to allow custom sprites to be carried across sublevel transitions, this sprite will become a vanilla p-switch upon one.
Is there anything I can change in the file to make it non-carryable?
Maybe deleting "jsr Carried_Sprite_Main"?
And also to not play the PSwitch music, just let the level music play? (although I'd assume this is more in the pswitch is pressed routine than in the sprite itself)