Sachverhalt: A. Die 1957 geborene R._, gelernte Tierarztgehilfin, war zuletzt von April 1983 bis April 2008 teilzeitlich als Reinigungsmitarbeiterin bei der X._ AG angestellt. Daneben war sie vorübergehend im Telemarketing tätig. Im Juni 2000 meldete sich R._ erstmals zum Leistungsbezug bei der Invalidenversicherung an, wobei sie, unter Hinweis auf Haut- und Knieprobleme, eine Umschulung beantragte. Die IV-Stelle Schwyz wies das Leistungsbegehren mit rechtskräftiger Verfügung vom 18. März 2003 ab und verneinte auch einen Anspruch auf eine Invalidenrente. Im Februar 2008 machte R._ erneut Leistungen (Massnahmen für die berufliche Eingliederung) geltend. Sie verwies dabei auf "Kopfschmerzen, Schwindel, Übelkeit, Ohrensausen, Druck hinter Auge, Migräne, Tumor in der Sella turcia (Mikroadenom)". An der Migräne leide sie seit Jahren. Seit ca. 2006 lägen massive Einschränkungen vor und seit Juli 2007 bestehe eine volle Arbeitsunfähigkeit. Die IV-Stelle Schwyz gewährte Berufsberatung und Abklärung der beruflichen Eingliederungsmöglichkeiten und prüfte die Rentenfrage. Gestützt namentlich auf medizinische Abklärungen, einen Haushaltabklärungsbericht vom 18. November 2009 (mit Ergänzung vom 1. März 2011) und einen BEFAS-Abklärungsbericht vom 16. November 2010 sprach sie der Versicherten mit Verfügung vom 7. Juli 2011 rückwirkend ab 1. Juli 2008 eine halbe Invalidenrente bei einem Invaliditätsgrad von 58 % zu. Bei der Invaliditätsbemessung ging die Verwaltung davon aus, die Versicherte wäre im Gesundheitsfall teils erwerblich und teils im Aufgabenbereich Haushalt tätig. Sie bestimmte den Invaliditätsgrad dementsprechend nach der sog. gemischten Methode. B. Die von R._ hiegegen erhobene Beschwerde auf Zusprechung einer ganzen Invalidenrente wies das Verwaltungsgericht des Kantons Schwyz mit Entscheid vom 14. September 2011 ab. C. R._ lässt Beschwerde in öffentlich-rechtlichen Angelegenheiten führen und beantragen, in Aufhebung der Verwaltungsverfügung vom 7. Juli 2011 und des vorinstanzlichen Entscheids sei eine ganze Invalidenrente zuzusprechen. Die IV-Stelle beantragt die Abweisung der Beschwerde, ohne sich weiter zur Sache zu äussern. Das Bundesamt für Sozialversicherungen verzichtet auf eine Vernehmlassung. D. Das Bundesgericht hat am 11. Oktober 2012 eine publikumsöffentliche Beratung durchgeführt.