In January 1923, after 42 league games for United, McBain moved to Everton, costing the Goodison Park side £4,200. He won two further Scotland caps while with Everton, in 1923 against Ireland and in 1924 against Wales. He played 97 league games for Everton, leaving in July 1926 to join St. Johnstone for a fee of £1,100.
He returned to Merseyside in March 1928, joining Liverpool, but played only 12 times before joining Watford in November the same year.
He was appointed player-manager of Watford in 1929, retiring as a player in 1931 after playing 85 times for Watford. He left Watford in August 1937 and took over as manager of Ayr United later that year. In June 1938 he returned to England, as manager of Luton Town, but left Luton in June 1939.
He was appointed as manager of New Brighton in June 1946. On 15 March 1947, New Brighton had an injury crisis, particularly among their goalkeepers. With no other option McBain played in goal against Hartlepool United at the age of 51 years and 120 days (and almost exactly 32 years after his professional debut). He was sacked by New Brighton in February 1948 with the club bottom of the league. Later that month he joined Leyton Orient as assistant to Charlie Hewitt, but in August 1948 took over as manager after Hewitt left to rejoin Millwall. In August 1949, McBain left Orient to manage Argentine side Estudiantes de La Plata.
McBain returned to Ayr United, as manager, in 1955, taking the club to promotion as Scottish Division Two runners-up in 1956, but in August 1956 left to manage Watford for a second time, his second spell lasting until February 1959.
His final spell as a manager came again at Ayr United, between 1962 and 1963. He died in 1974, aged 78.