Minor comment: Myers-Scotton. No "a" after the M. :)
I don't know about "most salient theories," but my own theory is that this type of code switching is done because it comes naturally and easily. It should not be surprising that certain ideas or concepts are more effectively, more accurately, more concisely, articulated in one language rather than another language. So while one is expressing his or her thoughts, the most efficient and accurate articulation that comes to mind gets used.
Some of this code switching becomes part of a language. In English, there are any number of examples, such as "status quo," "fait accompli," "déjà vu," "de jure," "de facto," "de minimis," and so on, which are part of the language. But this can easily extend to entire phrases and sentences. Why not? And so it does.
I read one article that said that such code switching can also occur within the same language. For instance, some languages, such as Italian, have a significantly different spoken and written argot. So this code switching can occur even without involving other languages. True enough.
Ofelia Garcia's 'translanguaging' is a more integrated view of languages. Code-switching presumes separation of linguistic systems. Hybrid language practices is another perspective.
Which of Myers-Scotton's theories are you referring to? Since you mention 'diglossic' code-switching and this refers to high- and low-status languages or varieties, I would assume that you are referring to her social theories of markedness and rational actors, outlined in Myers-Scotton (1993), Social motivations for code switching. If so I would agree with the above reply suggesting Garcia's translanguaging, and would also recommend Pennycook and Makoni's (2007) Disinventing and reconstituting languages, and the state-of the-art overview of code switching research in Gardner-Chloros's 2009 book Code-switching.
For a comprehensive review of code switching in both internal and external forms related to monolingual and plurilinguaL speech communities, I refer you to an insightful article written by Erman Boztepe named " Issues in Code Switching: Competing Theories and Models". He has touched on a very wide time -span expounding all related theories and models concerning CS. Presently, he is at Teachers' College: Columbia University.
Apart from the above, i seem to remember some very interesting studies on the role of code-switching as a marker of dispreferred seconds in Chinese communities in Britain. You may check Wei, Li (1994) Three Generations. Two Languages, One Family. Clevedon: Multilingual Matters (p. 178), or Wei, Li and Melissa G. Moyer (2008) The Blackwell Guide to Research Methods in Bilingualism and Multilingualism, p. 288. Apparently also in Persian (2005 Helena Bani-Shoraka. ISB4: Proceedings of the 4th International Symposium on Bilingualism, ed. James Cohen, Kara T. McAlister, Kellie Rolstad, and Jeff MacSwan, 186-198. Somerville, MA: Cascadilla Press)-