Three parts: Client Settings, Server Settings, Notes
Client Settings
Enabled/Disabled in individual client settings. Location varies based on client.
Plex Web: Settings → Plex Web → General. Uncheck Play Theme Music.
Android Mobile: Settings → Experience → Uncheck Play Theme Music.
I did not see any option to disable this globally at a server level (i.e. for all clients) or on a per-account level (like account settings for languages & subtitle choices).
Server Agents
If you disable the Plex Theme Music agent, Plex will not access theme music when TV show metadata is refreshed.
Server Settings → Agents → Shows, check/uncheck Plex Theme Music in TheTVDB and The Movie Database sections.
Notes
If you disable the agent and refresh TV show metadata, it does not delete existing theme music. Music will still play if enabled in the client. Plex will not pull theme music for any new shows, as the agent is disabled.
As a result, if you’ve Theme Music enabled at the client level and Server Agents disabled, you will still hear theme music for existing shows. You will not hear theme music for any new shows added to your server.
I’m not sure if that is intentional or a bug, but that’s how it works on my system.
The only way I know to remove existing theme music is to Plex Dance the entire TV show, as it completely removes the show & associated metadata from the Plex server before adding it back in.