We can insert an additional optional argument that allows for separately specifying a ToC/header/title of a \section.
The original definition of \ttl@straight@i (called by a sectional unit under the straight - default - class) looks like this:
\def\ttl@straight@i#1[#2]#3{%
\def\@currentlabelname{#2}% for nameref
\gdef\ttl@savemark{\csname#1mark\endcsname{#3}}%
\let\ttl@savewrite\@empty
\def\ttl@savetitle{#3}%
\gdef\thetitle{\csname the#1\endcsname}%
\if@noskipsec \leavevmode \fi
\par
\ttl@labelling{#1}{#2}%
\ttl@startargs\ttl@straight@ii{#1}{#3}}
It takes 3 arguments and based on the way it is processed by titlesec, all of them are mandatory (but may be empty). We can insert a truly optional argument inbetween using some help from xparse:
\makeatletter
\RenewDocumentCommand{\ttl@straight@i}{m R[]{} o m}{%
\def\@currentlabelname{#2}% for nameref
\gdef\ttl@savemark{\csname#1mark\endcsname{#4}}%
\let\ttl@savewrite\@empty
\IfNoValueTF{#3}
{\def\ttl@savetitle{#4}}% Optional #3 argument NOT supplied
{\def\ttl@savetitle{#3}}% Optional #3 argument supplied
\gdef\thetitle{\csname the#1\endcsname}%
\if@noskipsec \leavevmode \fi
\par
\ttl@labelling{#1}{#2}%
\ttl@startargs\ttl@straight@ii{#1}{#4}}
\makeatother
The argument R[]{} is a required argument delimited by [..] with an empty {} default; O{} would work just as well here. However, the inclusion of o now allows us to use either of the following:
\section[<header>][<ToC>]{<title>}
\section[<header>]{<ToC-and-title>}
\section{<header-ToC-and-title>}
We only have to condition on what to store in \ttl@savetitle based on whether or not [<ToC>] was supplied.
Here is a complete, minimal example:

\documentclass{article}
\usepackage[paper=a6paper]{geometry}% Just for this example
\usepackage[pagestyles,toctitles]{titlesec}
\usepackage{xparse}
\newpagestyle{main}{
\headrule% Include a rule
\sethead{\thesection.~\sectiontitle}% Left header
{} % Center header
{\normalsize \thepage} % Right header
}
\pagestyle{main}
\makeatletter
\RenewDocumentCommand{\ttl@straight@i}{m R[]{} o m}{%
\def\@currentlabelname{#2}% for nameref
\gdef\ttl@savemark{\csname#1mark\endcsname{#4}}%
\let\ttl@savewrite\@empty
\IfNoValueTF{#3}
{\def\ttl@savetitle{#4}}% Optional #3 argument NOT supplied
{\def\ttl@savetitle{#3}}% Optional #3 argument supplied
\gdef\thetitle{\csname the#1\endcsname}%
\if@noskipsec \leavevmode \fi
\par
\ttl@labelling{#1}{#2}%
\ttl@startargs\ttl@straight@ii{#1}{#4}}
\makeatother
\begin{document}
\tableofcontents
\section[fIrst sEctIOn][FiRST SeCTioN]{First section}
\clearpage
\section[sEcOnd sEctIOn]{Second section}
\clearpage
\section{Third section}
\end{document}
\rightmarkafter\sectioncommand? (suggestion there implements\section[<toc entry>]{<title>}[<header entry>]withouttitlesec) – Werner May 03 '14 at 05:12scrbook. I´ve been reading the manual, but are not sure what to look for. – Kubo Sep 18 '17 at 12:43optiontoheadandtocin the manual. The very specific thing you are looking for is an example on page 96 (at least 96 in my version of the manual). – Johannes_B Sep 18 '17 at 15:31KOMA:\chapter[head={A normal chapter heading ...}, tocentry={A normal chapter-heading, which is a little bit to long \newline but can be broken here for the ToC}]{A normal chapter-heading, which is a little bit to long, but nothing is done to it here.}– Kubo Sep 18 '17 at 18:05